Cleanup typos.
[retro-software/dec/tops10/v4.5.git] / src / dtcsrn.mac
index 8d0970e..c665ac5 100644 (file)
@@ -2,11 +2,11 @@ TITLE DTCSRN - NEW FORMAT DECTAPE SERVICE FOR 551 (PDP-6)
 SUBTTL DTA551 A.WACHS/TW/RCC 01 JUN 69  V012\r
        XP      VDTASR,012      ;GLOBAL VERSION NUMBER FOR LOADER STORAGE MAP.\r
 \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,DTCSAV,PIOMOD\r
-\r
 EXTERNAL       DTAVAL,DTREQ,SETIOD,THSDAT,PUNIT,GETDCDT\r
 EXTERNAL       ADVBFE,ADVBFF,ADRERR,WAIT1,CPOPJ,CPOPJ1,BADDIR\r
 EXTERNAL       COMCHK,PJOBN,RELEA9,UADCK1,DTTRY\r
@@ -23,6 +23,7 @@ NAMSTR=^D83   ;1ST NAME WORD IN DIRECTORY
 QUANT=5                ;NUMBER OF BLOCKS CAN READ BEORE GIVING UP DTC\r
 SPACE=6                ;NUMBER OF BLOCKS SEPERATING CONTIGUOUS BLKS OF A FILE\r
 \r
+\r
 ;DDB MAGIC CELLS\r
 FSTBLK=13\r
 DLOC=14\r
@@ -50,9 +51,8 @@ CPBIT=-1              ;CONDITIONAL ASSEMBLY PARAMETER FOR I/O DIRECTLY
                        ;TO USER.  IF -1 THE I/O IN DUMP MODE WITH\r
                        ;BIT 29 ON IN INIT WILL DO IO DIRECTLY TO USER\r
                        ;WIUTHOUT DIRECT CONSIDERATION OF BLOCK BOUNDRIES\r
-\f      EXTERN  JIFSEC\r
 \r
-       INTERN  DTCINT,DTCDDB,DTCINI,DTCDDS\r
+\f      INTERN  DTCINT,DTCDDB,DTCINI,DTCDDS\r
 \r
 DTCDDB:        SIXBIT  /DTA0/\r
        XWD     ^D60*HUNGST,200\r
@@ -60,18 +60,15 @@ DTCDDB:     SIXBIT  /DTA0/
        EXP     DTCDSP\r
        XWD     1107,154403\r
        EXP     0,0\r
-\r
        XWD     PROG,0\r
        XWD     PROG,0\r
        EXP     0,0,0\r
-\r
        EXP     DTCDIR\r
        EXP     0,0,0,0,0\r
-\r
-\r
 DTCDIR:        BLOCK   200\r
 DTCDDS=.-DTCDDB\r
 \r
+\r
        JRST    DTCINI\r
        JRST    THRUTP          ;HUNG DEVICE\r
 DTCDSP:        JRST    UREL\r
@@ -90,6 +87,7 @@ DTCDSP:       JRST    UREL
        JRST    UTPCLR\r
        POPJ    PDP,            ;MTAPE\r
 \r
+\r
 ;INITIALIZE DTC\r
 DTCINI:        CONO    DTC,0\r
        CONO    DC,0\r
@@ -160,7 +158,6 @@ RENAM1:     TLO     IOS,CHNGDR      ;DIRECTORY HAS CHANGED
 \r
 ;COME HERE TO RENAME TO A REAL NEW NAME\r
 RENAM2:        MOVE    DAT,TAC          ;SAVE LOC OF NAME IN DIRECTORY\r
-\r
        PUSHJ   PDP,DSERCH      ;SEARCH FOR NEW NAME\r
        SKIPA           ;NOT FOUND - GOOD\r
        JRST    RENER2          ;NAME ALREADY EXISTS - ERROR\r
@@ -185,7 +182,7 @@ DSER1:      PUSHJ   PDP,DIRCHK      ;ENSURE DIRECTORY IS IN CORE
        HRRZ    TAC,DLOC(DEVDAT) ;LOCAION OF DIRECTORY\r
        ADD     TAC,[XWD -26,NAMSTR] ;POINT TO START OF NAMES\r
 NMLOOK:        SKIPN   TAC1,@UUO       ;GET NAME\r
-       JRST    TPOPJ           ;NULL ARGUMENT - ERROR RETURN                   \r
+       JRST    TPOPJ           ;NULL ARGUMENT - ERROR RETURN\r
        MOVEM   TAC1,DEVFIL(DEVDAT)     ;STORE FOR RENAME AND SUPERSEDING\r
                                ; SHARED SEGMENTS\r
        CAMN    TAC1,(TAC)      ;TEST FOR MATCH\r
@@ -263,7 +260,6 @@ DECPTR:     JUMPL   DAT,.+5
        SOJA    DAT,CPOPJ\r
        HRLI    DAT,060500\r
        SOJA    DAT,CPOPJ\r
-\r
 \f;COME HERE TO DELETE THE FILE WHOSE INDEX IS INN TAC\r
 DLETE: MOVEI   TAC1,0          ;SET TO DELETE BLOCKS\r
        PUSHJ   PDP,BLKSRC      ;FIND A BLOCK BELONGING TO FILE\r
@@ -332,12 +328,12 @@ DRPTR:    SUBI    BLK,1           ;SET FOR ILDB OR IDPB
 \r
 ;HERE FOR NEW FILE NAME ON ENTER\r
 NEWENT:        SUB     TAC,[XWD 26,26];START AT BEGINNING OF DIRECT.\r
-\r
        SKIPN   (TAC)           ;FIND A FREE SLOT\r
        AOJA    UUO,ENTR2       ;RETURN WITH UUO POINTING TO WRD 2\r
        AOBJN   TAC,.-2\r
        POPJ    PDP,            ;NONE AVAILABLE.\r
 \r
+\r
 ;SET UP LENGTH OF FILE IN DIRECTORY FOR A SAVE FILE\r
 SETWD4:        HLRE    TAC1,@UUO       ;GET -LENGTH\r
        MOVNS   TAC1            ;+LENGTH\r
@@ -372,6 +368,7 @@ GETF:       PUSHJ   PDP,WAIT1       ;WAIT TILL BUFFERES EMPTY
        MOVE    TAC,BLK         ;TELL USER THE BLOCK NUMBER\r
        JRST    STOTAC\r
 \r
+\r
 ;GET NEXT (OR PREVIOUS) FREE BLOCK\r
 USRFRE:        MOVEI   TEM,SPACE       ;BLOCKS "SPACE" APART\r
        LDB     BLK,PIOMOD      ;EXCEPT DUMP AND SAVMOD FILES\r
@@ -397,6 +394,7 @@ USRLST:     SUBI    BLK,(TEM)       ;LOOK FOR FREE BLOCK N BEFORE
 USLSTA:        PUSHJ   PDP,LSTFRE      ;THIS ONE\r
        JRST    CALNXT+1\r
 \r
+\r
 ;NO FREE BLOCKS AVAILABLE. GIVE HIGH BLOCK,SET IOBKTL LATER\r
 NOBLKS:        MOVEI   BLK,TOPBLK+1    ;SET HIGH BLOCK\r
        POPJ    PDP,\r
@@ -444,7 +442,8 @@ UREL:       SETZM   FSTBLK(DEVDAT)  ;ZERO FSTBLK
        PUSHJ   PDP,GETDT       ;WAIT TILL DTC AVAILABLE\r
        MOVEI   BLK,DIRBLK      ;BLOCK NUMBER\r
        PUSHJ   PDP,WRTBLK      ;WRITE UT\r
-       PUSHJ   PDP,WAIT1       ;WAIT TILL IT HAS BEEN WRITTEN\r
+       JRST    WAIT1           ;DONT RETURN TO USER TILL DONE\r
+\r
 \r
 ;GET DEC TAPE CONTROLLER\r
 GETDT: PUSHJ   PDP,GETDCDT     ;GET DATA CONTROL. DECTAPE CONTROL\r
@@ -455,6 +454,7 @@ GETDT:      PUSHJ   PDP,GETDCDT     ;GET DATA CONTROL. DECTAPE CONTROL
        MOVEM   DEVDAT,USEWRD   ;SAVE ACS NEEDED ON INTERRUPT LEVEL\r
        JRST    SETACT          ;LIGHT IOACT AND RETURN\r
 \r
+\r
 ;HERE TO CLOSE A DUMP MODE FILE\r
 CLSDMP:        TLO     IOS,CLSDMP              ;SET SWITCHES\r
        PUSHJ   PDP,GETDT       ;GET CONTROL\r
@@ -479,7 +479,6 @@ UIN:        TLZ     IOS,IO
        PUSHJ   PDP,BLKCHK      ;CHECK LEGALITY OF BLOCK NUMBER\r
        TLNN    IOS,DMPMOD      ;DUMP MODE?\r
        CAIE    BLK,DIRBLK      ;TRYING TO READ DIRECTORY?\r
-\r
        JRST    READBF          ;NO. GO READ\r
 \r
 ;READING DIRECTORY - GIVE CORE IMAGE IF IT EXISTS\r
@@ -503,6 +502,7 @@ EOF:        TLO     IOS,IOEND       ;LIGHT EOF BIT
        JRST    STOIOS\r
        JRST    DMPEOF          ;GIVE UP CONTROL IF DUMP-MODE\r
 \r
+\r
 ;ZERO USER'S CORE ON SAVE-MODE INPUT\r
 ZERCOR:        MOVEI   TAC,JOBDDT(PROG) ;ZERO CORE\r
        HRLI    TAC,1(TAC)\r
@@ -532,7 +532,6 @@ UOUT:       TLO     IOS,IO
        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
        PUSHJ   PDP,GETDT       ;GET DEC TAPE CONTROLLER\r
 FILBUF:\r
 DTOCHK:        TLNE    IOS,DMPMOD      ;DUMP MODE?\r
@@ -540,6 +539,8 @@ DTOCHK:     TLNE    IOS,DMPMOD      ;DUMP MODE?
        MOVSI   TAC,@DEVOAD(DEVDAT) ;LOCATION OF BUFFER\r
        ADD     TAC,[XWD 1,BUF];SET TO STORE IN MONITOR BUFFER\r
        BLT     TAC,BUF+177     ;GO BLT IT\r
+       SKIPN   BUF             ;GIVE UP TAPE IF\r
+       JRST    THRUTP          ;NO BUFFER TO OUTPUT\r
        TLZ     IOS,NOLINK\r
 \fOUFULL:       TRNE    IOS,UDSD        ;NON-STANDARD?\r
        JRST    OUTBL2          ;YES, NO FILE-STRUCTURED OPERATIONS\r
@@ -561,6 +562,7 @@ OUTBLK:     HRLM    BLK,BUF          ;SAVE LINK IN 1ST WORD OF BLOCK
 OUTBL2:        HRRZ    BLK,OBLK(DEVDAT)\r
        PUSHJ   PDP,STOIOS\r
 \r
+\r
 WRTBLK:        PUSHJ   PDP,FNDBLK      ;GO SEARCH FOR BLOCK\r
        MOVE    TAC1,[BLKO DTC,700] ;HERE WE ARE - GO WRITE\r
        JRST    RDWRT\r
@@ -577,8 +579,7 @@ COR2HM:     MOVEI   TAC,@DEVOAD(DEVDAT)  ;WHERE IT IS
        TLO     IOS,CHNGDR      ;REMEMBER TO WRITE IT OUT\r
        MOVSI   TAC1,DVDIRI\r
        ORM     TAC1,DEVMOD(DEVDAT) ;DIR. IS NOW IN CORE\r
-FAKADV:        TLZE    IOS,DMPMOD      ;DUMP MODE?\r
-       JRST    THRUTD          ;YES. GIVE UP CONTROL\r
+FAKADV:        TLZN    IOS,DMPMOD      ;DUMP MODE?\r
        PUSHJ   PDP,ADVBFE      ;ADVANCE BUFFERS\r
        JFCL\r
        TLZ     IOS,NOLINK      ;DIRECTORY BLOCK IS NOT LINKED\r
@@ -603,6 +604,7 @@ DMPST2:     SOS     UUO             ;NO. SAVE START OF LIST (-1)
 DMPTS1:        POP     PDP,TAC\r
        JRST    THRUTD\r
 \r
+\r
        IFN CPBIT, <\r
 ;HERE TO START DUMP-MODE INTO USER AREA DIRECTLY\r
 TOUSER:        JUMPE   AC2,NOBLK0      ;CANT READ BLK 0 IN NON-STD DUMP  MODE\r
@@ -618,6 +620,7 @@ TOUSER:     JUMPE   AC2,NOBLK0      ;CANT READ BLK 0 IN NON-STD DUMP  MODE
        MOVEM   TAC,DCLOC1      ;IOWD IS EXHAUSTED\r
        HRRZM   PROG,ADRPRG     ;SAVE JUST ADDRESS OF PROG\r
        TLO     IOS,NOBUF       ;INDICATE DIRECTLY TO USER\r
+       XCT     @1(PDP)         ;TURN ON/OFF IO\r
        TLNN    IOS,IO\r
        JRST    CPOPJ1          ;READING - CONTINUE\r
        POP     PDP,TAC         ;WRITING - THIS WILL SAVE LOTS OF TIME\r
@@ -673,11 +676,13 @@ NXTCM1:   HRRM    TAC,DMPLST(DEVDAT) ;STORE GO-TO ADDRESS
        JUMPG   TAC,NXTCM1      ;GO-TO WORD\r
        ADDI    TAC,(PROG)      ;REAL COMMAND - ADD RELOCATION\r
        AOJA    TAC,CPOPJ1      ;AND RETURN\r
+\r
 ;END OF DUMP-MODE LIST\r
 NXTCM2:        SETZM   SVDWRD(DEVDAT)  ;ZERO POINTERS\r
        SETZM   DMPLST(DEVDAT)\r
        POPJ    PDP,\r
 \r
+\r
 DMPFLC:        SKIPE   TAC,SVDWRD(DEVDAT)      ;IS THERE ANOTHER COMMAND\r
        JRST    DMPFLA          ;YES. GET IT\r
        JRST    DMPTH2          ;NO. THROUGH\r
@@ -715,7 +720,8 @@ IOGO:       IFN CPBIT, <
        CONO    PI,PION\r
        POPJ    PDP,            ;DISMISS INTERRUPT\r
 \r
-;HERE FOR AY DATA WORD WITH TAPE IN REVERSE\r
+\r
+;HERE FOR ANY DATA WORD WITH TAPE IN REVERSE\r
 RVERS: 0\r
 IOWD:  BLKI    DTC,PNTR        ;READ (WRITE) A WORD\r
        JRST    RVTHRU          ;POINTER RAN OUT\r
@@ -731,6 +737,7 @@ DTATHR:     0
        JSR     SHUTDN          ;SHUT DOWN DATA CONTROL\r
        JEN     @DTATHR         ;DISMISS\r
 \r
+\r
 SHUTDN:        0\r
        CONSZ   DC,10000        ;DATA MISSED?\r
        SETOM   ERRFLG          ;YES. SET SWITCH\r
@@ -757,7 +764,6 @@ FNDBL2:     SETZM   ERRFLG          ;RESET DATA MISSED FLAG
        MOVEM   TEM,DCLOC1      ;FOR FORWARD DATA OPERATIONS\r
        CONSZ   DTC,20000       ;IS TAPE ALREADY MOVING/\r
        JRST    FNDBL4          ;YES\r
-\r
        TRO     TAC,323200      ;NO, SET READ BLK NOS., START DELAY\r
        TLNN    IOS,RVERSE      ;MOVE TAPE BACKWARDS?\r
        TRO     TAC,10000       ;YES\r
@@ -770,6 +776,7 @@ FNDBL3:     IFN     CPBIT, <
        MOVEM   IOS,DEVIOS(DEVDAT)      ;RESTORE IOS IN CORE\r
        POPJ    PDP,            ;AND EXIT\r
 \r
+\r
 ;HERE TO INITIATE READ OF A TAPE THAT IS MOVING ALREADY\r
 FNDBL4:        CONSZ   DTC,10000       ;GOING BACKWARDS?\r
        TRO     TAC,10000       ;YES\r
@@ -860,13 +867,13 @@ DTCIN2:   TLNE    IOS,DMPMOD      ;DUMP MODE?
        MOVEM   TAC,IBLK(DEVDAT)  ;STORE IN DDB\r
        TLZE    IOS,IOW         ;NO. IN IO WAIT?\r
        PUSHJ   PDP,SETIOD      ;YES. TAKE OUT OF WAIT\r
-       TLZE    IOS,SINGL+RWDIR+DMPCLS ;DIRECTORY OPERATION OR\r
-                                       ;CLOSING DUMP FILE?\r
+       TLZE    IOS,SINGL+RWDIR ;DIRECTORY OPERATION?\r
        JRST    THRUTP          ;YES. LEAVE\r
        TLNE    IOS,IO          ;WRITING?\r
        JRST    OUTHRU          ;YES\r
 \fEXTERN        JBTSTS,PJOBN\r
 \r
+\r
 ;HERE ON END OF AN INPUT BLOCK\r
        HRROI   TAC1,177        ;MASK OUT 1ST-BLK DATA\r
        TRNN    IOS,UDSD        ;UNLESS IN NON-STD\r
@@ -883,7 +890,6 @@ DTCIN2:     TLNE    IOS,DMPMOD      ;DUMP MODE?
        JRST    THRUIN          ;YES. DONT ADVANCE BUFFERS\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
        CAILE   BLK,TOPBLK      ;THE ERROR WILL BE CAUGHT ON THE\r
        JRST    THRUIN          ;UUO LEVEL NEXT TIME AROUND\r
@@ -891,6 +897,7 @@ DTCIN2:     TLNE    IOS,DMPMOD      ;DUMP MODE?
        SKIPG   DTREQ           ;YES. ANYONE ELSE WANT IT?\r
        JRST    READBC          ;NO. READ NEXT BLOCK\r
 \r
+\r
 THRUIN:        HRRZ    TAC,OBLK(DEVDAT) ;TAPE ALSO BEING WRITTEN?\r
        JUMPN   TAC,THRUTP      ;YES. DONT CHANGE REVERSE BIT\r
        TLZ     IOS,RVERSE      ;NO. SET IOS BIT TO CORRECT DIRECTION\r
@@ -917,7 +924,6 @@ THRUTD:     PUSHJ   PDP,THRUTA      ;GIVE UP DATA CONTROL
        CONO    DTC,0           ;SHUT DOWN DATA CONTROL\r
        HLLZS   DTCINT\r
        POPJ    PDP,            ;AND LEAVE\r
-\r
 \f      EXTERN  CLOCK\r
 \r
 ;HERE ON END OF OUTPUT BLOCK\r
@@ -932,6 +938,7 @@ OUTHRU:     PUSHJ   PDP,ADVBFE      ;GET NEXT BUFFER
        JRST    FILBUF          ;NO. GO WRITE NEXT BLOCK\r
        JRST    THRUTP          ;YES. GIVE UP TAPE\r
 \r
+\r
 ;TURN TAPE AROUND AFTER END-ZONE INTERUPT\r
 TURN:  MOVEM   TAC,TEMPA               ;SAVE TAC\r
        MOVE    TAC,UNIT        ;UNIT AND CHANNEL\r
@@ -952,6 +959,7 @@ TIMINT:     CONSO   DTS,20          ;TIME FLAG INTERRUPT ON?
        HLLZS   DTCINT\r
        JEN     @DTCCHL         ;AND LEAVE\r
 \r
+\r
 ;HERE WITH AN INTERRUPT WHILE SEARCHING FOR BLOCK NUMBERS\r
 BLKNUM:        CONSZ   DTS,2           ;END ZONE INTERRUPT?\r
        JRST    TURN            ;YES. TURN AROUND\r
@@ -966,7 +974,7 @@ SPRIUS:     CONI    DTC,TEMPA       ;READ DTC STATUS BITS
 \r
 TIMREQ:        XWD     .+1,3   ;E CLOCK TICKS\r
        SOSL    DTREQ   ;ALLOW OTHER JOBS\r
-       SETOM   DTAVAL  ;TO GET DT CONTROL NOW\r
+\f      SETOM   DTAVAL  ;TO GET DT CONTROL NOW\r
        POPJ    PDP,\r
 \f;COME HERE ON END OF DUMP MODE BLOCK\r
 SVDMTH:        IFN CPBIT, <\r
@@ -1006,6 +1014,7 @@ SVDMIN:   HLRZ    BLK,BUF         ;NEXT BLOCK NUMBER
        HRRM    BLK,IBLK(DEVDAT) ;SAVE IN DDB\r
        JRST    CPOPJ1\r
 \r
+\r
        IFN CPBIT, <\r
 ;HERE WHEN THROUGH DUMP-MODE DIRECTLY TO USER\r
 USDMTH:        MOVEI   TAC1,IBLK(DEVDAT)\r
@@ -1039,6 +1048,7 @@ RDNXT:    CAIG    BLK,TOPBLK      ;BLOCK LEGAL?
        JRST    READBC          ;GO READ BLOCK NUMBER\r
        TROA    IOS,IOBKTL      ;LIGHT ERROR BIT\r
 \r
+\r
 ;EOF BEFORE ALL DATA IS IN - DUMP MODE\r
 DMPEOF:        TRO     IOS,IODEND      ;LIGHT EOF BIT\r
        JRST    DMPTH2          ;GIVE UP TAPE\r
@@ -1061,7 +1071,6 @@ ERRS1:    CONSO   DTS,4           ;IF ILLEGAL OP - DONT RETRY
        JRST    FNDBL2          ;NO. TRY AGAIN\r
 \r
 ;PERMANENT ERROR\r
-\r
 PERMER:        CONSZ   DTS,10  \r
        TRO     IOS,IODTER      ;PARITY\r
        CONSO   DTS,100\r
@@ -1106,4 +1115,3 @@ DIRCTN:   0
 BUF:   BLOCK   200\r
 DTAEND:        END\r
 \f\r
-\0\0\0\0
\ No newline at end of file