* ASC 2,RTN ASC 1, DEF RTP * ASC 2,MSG ASC 1,A DEF MSP * ASC 2,DLY ASC 1,I DEF DTP * ASC 2,TEST ASC 1,K DEF TEP * ASC 2,STOP ASC 1, DEF PSTOP * DEC -2 * OPEND EQU * SKP ORG 1760B .5 OCT 5 .6 OCT 6 .177 OCT 177 .D72 DEC 72 .M1 DEC -1 .M2 DEC -2 .M3 DEC -3 .M4 DEC -4 .M10 DEC -10 .M60 OCT -60 DBC NOP CULN NOP * * TMP NOP LINE NUMBER NOP POINTER TO STATEMENT TABLE NOP PRAM A NOP PRAM B HED 7970 (13181-13183) TAPE DIAGNOSTIC * REVISION DATE 06/15/76 * SETUP: * * 1. LOAD DIAGNOSTIC CONFIGURATOR * * 2. LOAD THE 7970 MAG TAPE DIAGNOSTIC * * 3. SET P TO 100 * * 4. LOAD THE SWITCH REGISTER ACCORDING TO THE TABLE BELOW: * * SWITCH REG SPEED /INTERFACE * 15 45 * 14 37.5 * 13 25 * 12 12.5 * 11 13183 * 10 13181 * 9 NON DMA FOR 13183 * 8-6 NOT USED * 5-0 SELECT CODE * * 5. PRESS PRESET; PRESS RUN * * 6. IF HALT 102074, GO TO STEP 7. * * 7. LOAD SWITCH REGISTER WITH OPTIONS ACCORDING TO * TABLE BELOW: * * THE FOLLOWING SWITCH REGISTER SETTINGS ARE USED * FOR PROGRAM CONTROL: * * SWITCH MEANING IF SET * 0 USE MAGNETIC TAPE UNIT 0 * 1 USE MAGNETIC TAPE UNIT 1 * 2 USE MAGNETIC TAPE UNIT 2 * 3 USE MAGNETIC TAPE UNIT 3 * 4 USE DMA CHANNEL 1 ON ALL READ/WRITE * 5 USE DMA CHANNEL 2 ON ALL READ/WRITE * 6 INHIBIT ALL TESTS WITH EMBEDDED REWINDS * 7 DELETE CRCC AND LRCC CHECK (13181) * 8 SUPPRESS TEST WHICH REQUIRE OPERATOR * 9 ABORT * 10 SUPPRESS NON-ERROR MESSAGES * 11 SUPPRESS ERROR MESSAGES * 12 LOOP ON DIAGNOSTIC * 13 LOOP ON LAST TEST * 14 SUPPRESSES ERROR HALTS * 15 HALT AT END OF EACH TEST(102076) * * * * 8. PRESS PRESET; AND RUN * * ERROR HALTS/NORMAL HALTS * 102075 HALT AFTER SETTING SWITCH 9 * 102073 BAD SELECT CODE-GOTO STEP 4 * 102072 BAD TAPE OPTIONS-GOTO STEP 4 * 102070 P-100 ENTRY IN 8K MODE * 102071 NO DMA FOR 13183-GOTO STEP 4 * 106077 BAD INTERRUPT TRAP CELL-RELOAD GOTO STEP 1 * 102077 END OF PASS * 102076 HALT AT END OF TEST * * * ORG PGO SETUP OVERLAY PRIOR TO OPDSN JSB OPSET,I ORG CMDL COMMAND OVERLAY FOR OPDSN JSB PCMND,I OVERLAY FOR OP DESIGN * ORG 2000B .BEGN EQU * BEGIN THE DIAGNOSTIC JSB SETUP,I ORG 100B JMP START,I GO TO CONFIGURATION ORG 126B DSN OCT 112100 DIAGNOSTIC SERIAL NUMBER ORG 133B DEF .ERMS OVERLAY ERROR MESSAGE POINTER ORG 140B IOIP DEF IOID POINTER TO I/O LIST (COMMAND CH) IOIP2 DEF IOID2 POINTER TO I/O LIST (DATA CH) TSTP DEF TSTD POINTER TO TESTS STDA OCT 177777 STD. TESTS O-15 STDB OCT 007777 STD. TEST 16-27 HDMP DEF HDMS1 POINTER TO HEADER MESSAGE SWRC DEF .SWRG ORG 150B * STATU NOP CURRENT TAPE UNIT STATUS SUBTS NOP CURRENT SUBTEST NUMBER UNIT NOP CURRENT TAPE UNIT NUMBER OCMD4 NOP LAST EXECUTED COMMAND EXPST NOP EXPECTED STATUS RECNO NOP #OF RECORDS FROM BOT * * * LIST OF POINTERS * .TST0 DEF TST00 POINTER TO TEST ZERO (TST00) .ZBIO DEF ZBIO POINTER TO START OF BASIC I/O .EXEC DEF EXE01 POINT TO EXECUTIVE EXTENSION MOD MS DEF MSG NON ERROR MESSAGE REPORTING .ZERM DEF ZERMS POINTER TO ERROR MESSAGE .FMT3 DEF FMT03 POINTER TO FORMATTER SPECIAL SIOR DEF SIOTR POINTER TO SIO READ ROUTINE SIOW DEF SIOTW POINTER TO SIO WRITE ROUTINE FILL DEF .FILL POINTER TO FILL BUFFER ROUTINE READ DEF .READ POINTER TO READ ROUTINE .RDGP DEF RDGAP POINTER TO READ GAP SPACE ROUTINE .DMUP DEF DMAUP POINTER TO DMA SETUP ROUTINE DMAWT DEF .DMWT POINTER TO DMA WRITE ROUTINE DMARD DEF .DMRD POINTER TO DMA READ ROUTINE LONGW DEF .LONG POINTER TO SUBROUTINE LONGW LONGR DEF .LONR POINTER TO SUBROUTINE LONGR .RD10 DEF RD10 POINTER TO READ COMMAND CHANGE .CLBF DEF CLRBF POINTER TO ROUTINE CLRBF .RWSL DEF RWSLO POINTER SLOW REWIND ROUTINE .ALCP DEF ALLCP POINTER TO ALL UNIT COMPARE ROUTINE .ALRW DEF ALLRW POINTER TO ALL UNIT REWIND ROUTINE .ALWR DEF ALLWR POINTER TO ALL UNIT WRITE ROUTINE .ALBS DEF ALLBS POINTER TO ALL UNIT BACKSPACE START DEF .STAR POINTER TO START OF CONFIGURATION BEGIN DEF .BEGN POINTER TO START OF DIAGNOSTIC SCIN DEF ZISC POINTER TO I/O SETUP ROUTINE .WCC DEF WCC POINTER TO WCC COMMAND .RRF DEF RRF POINTER TO RRF COMMAND SETUP DEF .SETU POINTER TO 2000 OCTAL CONFIG. .LRCC DEF LRCC POINTER TO LRCC ROUTINE .CRCC DEF CRCC POINTER TO CRCC ROUTINE ..TIM DEF .TIME POINTER TO TIME CONTSTANTS .PRIT DEF PARIT POINTER TO PARITY ROUTINE DCODE DEF .DCOD UPDATES RECORD COUNT .CKIN DEF CKIN POINTER TO CKIN .CKOT DEF CKOUT POINTER TO CKOUT .CMPQ DEF COMPQ POINTER TO COMPQ .ZUSR DEF ZUSR NOP * * * * * LINKS TO OPERATOR DESIGN *********************** * OPSET DEF .OPST POINTER TO PODSN SETUP .IRQ DEF IRQ POINTER TO INPUT REQUEST .SNTX DEF SYNTX PRE-PROCESSOR FOR STATEMENTS. .END OCT 3777 END OF PROGRAM AREA SUPA DEF ZCEND START OF USER TABLE EUPA EQU .END END OF USER PROGRAM AREA STUD DEF STUDD START OF USER STATEMENT TABLE DBD EQU FWAM START OF USER BUFFER CNT01 NOP COUNTER FOR OPERATOR DESIGN .OPLN DEF OPLNE POINTER TO LINE MISSING ROUTINE FMTR2 DEF .FMTR POINTER TO FORMATTER PCMND DEF .PCMD POINTER TO PROG EXTENSION * * * * LINKS TO INTERRUPT ROUTINES * INTJP DEF TCJMP POINTER TO LOAD TRAP WITH JMP INTJB DEF TCJSB POINTER TO LOAD TRAP WITH JSB JMPI JMP *+1,I JMP INSTRUCTION JMPIL NOP JUMP OR JSB DESTINATION JSBI JSB JMPIL,I JSB INSTRUCTION INTON DEF .INTN POINTER TO INTERRUPT TURN ON INTOF DEF .INTF POINTER TO INTERRUPT TURN OFF LDINT DEF .LDIT POINTER TO LOAD TRAP WITH ERROR MESSAGES TCCMD NOP INTERRUPT LINK TO COMMAND CH TCDAT NOP INTERRUPT LINK TO DATA CH TCDA1 NOP INTERRUPT LINK TO DMA CH 1 TCDA2 NOP INTERRUPT LINK TO DMA CH 2 .ZTCH DEF ZITCH OPDSN-PUTS HALTS IN TRAP CELLS * * * * * CONSTANTS AND STORAGE * * PAGING CONSTANTS FOR ORG-S * PAG06 EQU OPEND PAG10 EQU 10000B PAG12 EQU 12000B PAG14 EQU 14000B PAG16 EQU 16000B * SC NOP CURRENT SELECT CODE DATA EQU 10B LOAD DUMMY SELECT CODE IN DATA CHANNEL CMMD EQU DATA+1 LOAD DUMMY SELECT CODE INTO COMMAND CHANNEL * * SWITCH REGISTER MASKS SWALL OCT 17 * SWITCH REGISTER MASKS * SW00 OCT 1 BIT 0 SW01 OCT 2 BIT 1 SW02 OCT 4 BIT 2 SW03 OCT 10 BIT 3 SW04 OCT 20 BIT 4 SW05 OCT 40 BIT 5 SW06 OCT 100 BIT 6 SW07 OCT 200 BIT 7 SW08 OCT 400 BIT 8 SW09 OCT 1000 BIT 9 SW10 OCT 2000 BIT 10 SW11 OCT 4000 BIT 11 SW12 OCT 10000 BIT 12 SW13 OCT 20000 BIT 13 SW14 OCT 40000 BIT 14 SW15 OCT 100000 BIT 15 SW68 OCT 10500 BIT 6,8,AND 12 * * BASE PAGE VARIABLES * TMP1 NOP TMP2 NOP DMAFG NOP DMA CHANNEL FLAG FGDMA NOP FLAG FOR DMA READ OR WRITE * BREG NOP B REG CONTENTS AREG NOP A REG CONTENTS DTA NOP LOCATION OF DATA CHANNEL SC CMD NOP LOCATION OF COMMAND CHANNEL SC ORGSC NOP FG183 NOP IF FG183=0,THEN IT IS 13181 * IF FG183=-1,THEN IS 13183 DIAG. FGINT NOP INTERRUPT FLAG INTFG NOP TEMPORARY INTERRUPT FLAG TST0F NOP TEST 0 FLAG- -1=IN TEST 0 * * CNTR NOP COUNT NOP BUFFER LENGTH COUNTER DBCI NOP INPUT BUFFER LENGTH DBDI NOP INPUT BUFFER ADDRESS * BUFLG EQU DBC BUFFER LENGTH INBUF EQU DBDI INPUT BUFFER ADDRESS INBFL EQU DBCI LENGTH OF INPUT BUFFER RDERR NOP READ ERROR FLAG (CONTENTS= STATUS) WRERR NOP WRITE ERROR FLAG (CONTENTS= STATUS) .RDCT NOP .RDTP NOP TEMPORARY STORAGE BFMAX NOP MAX BUFFER SIZE DBCO EQU BFMAX DMASK NOP DMA MASK FOR INPUT BUFFER LENGTH OLDTN NOP OLD TEST NUMBER DTIME NOP TIME FOR DMA FLAG TO SET CRCFG NOP CRCC SKIP FLAG INSWR NOP INTERNAL SWITCH REG.-TEST 30 ERSKP NOP ERROR MESSAGE SKIP FLAG SKPSW NOP SKIP SWITCH REGISTER CHECK FLAG * * NUMERICAL CONSTANTS * .1 OCT 1 .7 OCT 7 .09D DEC 9 .10 OCT 10 .17 OCT 17 .37 OCT 37 .77 OCT 77 .100 OCT 100 .100D DEC 100 .200 OCT 200 .M6 OCT -6 .N100 OCT -100 .PAGE DEC 1024 .MPAG DEC -1024 PAGE LENGTH CONSTANTS .ME3 DEC -1000 * * COMMAND SET FOR 13183 INTERFACE ATSEL DEF *+1 ADDRESS OF SELECT COMMANDS SL0 OCT 1400 SELECT UNIT ZERO SL1 OCT 2400 SELECT UNIT 1 SL2 OCT 4400 SELECT UNIT 2 SL3 OCT 10400 SELECT UNIT 3 WCC OCT 31 WRITE COMMAND WFM OCT 211 WRITE FILE MARK RRF OCT 23 READ RECORD FORWARD FSR OCT 3 FORWARD SPACE RECORD FSF OCT 203 FORWARD SPACE FILE GAP OCT 15 WRITE GAP BSR OCT 41 BACKSPACE RECORD BSF OCT 241 BACKSPACE FILE REW OCT 101 REWIND RWO OCT 105 REWIND OFF-LINE CLR OCT 110 CLEAR CONTROLLER GFM OCT 215 GAP FILE MARK RFF OCT 223 READ FORWARD UNTIL NEXT FILE MARK RRR OCT 61 READ RECORD IN REVERSE * * * INSTRUCTION LIST * .LDB LDB A POINTER TO LDB INSTRUCTION * * STATUS WORD BIT MASKS * MSKOL OCT 1 OFFLINE MSKDE OCT 2 DATA ERROR MSKFP OCT 4 FILE PROTECTED MSKCR OCT 10 CMMD REJECT MSKTE OCT 20 TIMING ERROR MSKET OCT 40 EOT MSKLP OCT 100 LOAD POINT MSKEF OCT 200 END OF FILE MSKIB OCT 400 INTERFACE BUSY MSKTB OCT 1000 TAPE UNIT BUSY MSKRW OCT 2000 REWINDING MSKOB OCT 4000 ODD BYTE MSKST OCT 10000 SINGLE TRACK ERROR MSKDN OCT 100000 DENSITY MSKSL OCT 60000 SEL. TAPE UNIT BITS 13+14 MK377 OCT 377 MASK FOR BITS 7-0 MK77K OCT 77400 MASK FOR BITS 14-8 MSK77 OCT 77777 MASK NOP TEMPORARY MASK MSKIO OCT 4033 OB,TE,DE,OL,CR CHECK MASK MSKCL OCT 14632 BITS CLEARED BY CLEAR COMMAND MSKDT OCT 22 DATA AND TIMING ERROR MASK MSKRT OCT 3000 REWIND AND TAPE BUSY MASK .2 EQU SW01 .3 EQU FSR .4 EQU SW02 .15 EQU GAP SW9 EQU SW09 S128 EQU SL3 * * * EQUIPMENT TABLE (EQT) * UNICT NOP CURRENT UNIT UNITS NOP # OF UNITS ON-LINE UNITX NOP TEMPORARY UNIT NUMBER * * TIME DELAY TABLE * TIME DEF *+1 RWTIM DEC 1 REWIND RESET TIME-45IPS WRTIM DEC 8 WRITE STARTUP- 45IPS CLTIM DEC 10 MAXIMUM CLEAR TIME GAPTM DEC 96 GAP TIME IGTIM DEC 9 IRG TIME MINBY DEC 13 MINIMUM BYTE TIME (100 WORDS) MAXBY DEC 16 MAXIMUM BYTE TIME (100 WORDS) DELTA NOP DELTA TIME CONSTANT-MAX TIME * * * COMMONLY USED SUBROUTINES * * * CHECK TO SEE THAT AT LEAST ONE UNIT ON-LINE * REPORTS ERROR IF NO UNITS ARE ON-LINE * COUNTS UP # OF UNITS ONLINE * AND UPDATES EQT. *CALL: * JSB UNIUP * * UNIUP NOP UNIU1 EQU * CLA SELECT UNIT ZERO STA UNITS CLEAR UNITS COUNTER JSB UPDAT UPDATE EQT LDA .1 JSB UPDAT SELECT UNIT 1 LDA .2 JSB UPDAT SELECT UNIT 2 LDA .3 JSB UPDAT SELECT UNIT 3 LDA UNITS GET THE # OF UNITS ON-LINE SZA IF ZERO UNITS-REPORT ERROR UNIU2 EQU * ON-LINE JMP UNIUP,I EXIT UNIU5 EQU * ERROR- ALL UNITS ARE OFF-LINE CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT ERROR DEF E032 JMP UNIU1 GO TRY AGAIN E032 EQU * ASC 09,E032 NO UNITS UP/ * * UPDAT-UPDATES EQT * UPDAT NOP JSB UNISL GO SELECT TAPE UNIT JMP UNIU8 OFF-LINE RETURN JMP UNIU7 ON-LINE RETURN UNIU7 EQU * ISZ UNITS INCREMENT # OF UNITS ONLINE UNIU8 EQU * JMP UPDAT,I EXIT * * * CLRCH- CLEARS DATA AND COMMAND CHANNELS * *CALL: * JSB CLRCH * * CLRCH NOP CLRC1 CLC DATA,C CLRC2 CLC CMMD,C CLC CHAN+4,C CLEAR DMA CHANNELS STF CHAN+4 CLC CHAN+5,C STF CHAN+5 JMP CLRCH,I * * * AOTA- OTA ON COMMAND CHANNEL * LOAD A REGISTER WITH THE COMMAND *CALL: * LDA * JSB AOTA * * EFCK NOP LDA MSKEF JSB BITCK CHECK FOR EF JMP EFCK1 YES-EXIT LDB MSKEF SETUP EXPECTED STATUS JSB ERMS,I NO-REPORT ERROR DEF E053 JMP EFCK1 E053 EQU * ASC 11,E053 FILE MARK ERROR/ EFCK1 JMP EFCK,I EXIT * * OCMMD NOP COMMD SHOULD BE IN THE 'B' REG. STB OCMD4 SAVE COMMAND OCMD1 OTB CMMD * * CHECK FOR COMMAND REJECT BIT SET * JSB STATS GET STATUS AND MSKCR IS COMMAND REJECT BIT SET SZA,RSS JMP OCMD3 CLB SETUP EXPECTED STATUS JSB ERMS,I YES-REPORT ERROR DEF E027 JMP OCMMD,I EXIT E027 EQU * ASC 10,E027 COMMAND REJECT/ * OCMD3 EQU * JSB DCODE,I GO UPDATE RECORD COUNT OCMD2 STC CMMD,C JMP OCMMD,I * * * CLEAR NOP CLEAR THE CONTROLLER LDA FGINT LOAD INTERRUPT FLAG SZA,RSS IS IT SET? JMP CLEA3 NO-SKIP OVER INTERRUPT SETUP JSB LDINT,I LOAD TRAP CELLS WITH ER MSG LDA CMD JSB INTJP,I LOAD COMMAND CH TRAP CELL DEF TCCMD INTERRUPT LINK TO BASE PAGE DEF CLEA2 DESTINATION OF INTERRUPT JUMP CLEA3 EQU * LDB CLR LOAD A CLEAR INSTRUCTION JSB OCMMD OUTPUT COMMAND LDA CLTIM GET MAX CLEAR TIME JSB TMRR,I GO WAIT CLEA1 EQU * SFC CMMD IS CLEAR COMMAND FINISHED? JMP CLEA2 YES-CONTINUE CLB SETUP EXPECTED STATUS JSB ERMS,I NO-REPORT ERROR DEF E030 JMP CLEA2 E030 EQU * ASC 9,E030 CLR TIME OUT/ CLEA2 EQU * JSB LDINT,I LOAD TRAP CELLS WITH ER MSG JSB STATS GET STATUS AND MSKCL ARE PROPER STATUS BITS CLEAR? SZA,RSS JMP CLEA5 YES-OK TO EXIT LDA MSKRT CHECK RW BITS JSB BITCK ARE THEY SET? JMP CLEA5 YES-EXIT JMP CLEA4 NO-REPORT ERROR CLEA5 EQU * CLB CLEAR B REGISTER FOR RETURN JMP CLEAR,I NO-EXIT CLEA4 EQU * JSB STATS GET STATUS AND MSKLP ISOLATE LOAD PT BIT LDB A SETUP EXPECTED STATUS JSB ERMS,I EPORT ERROR DEF E043 JMP CLEAR,I EXIT E043 EQU * ASC 8,E043 CLR ERROR/ * * * FLGWT NOP THIS ROUTINE WILL WAIT APPROX. STA AREG -SECOND FOR THE COMMAND CHANNEL STB BREG LDB .ME3 SET COUNTER FOR 1 SEC. TIME OUT STB FLGW2 SETUP TIME OUT COUNTER LDA FGINT LOAD INTERRUPT FLAG SZA,RSS IS IT SET? JMP FLGW3 NO-CONTINUE IN NON-INTERRUPT JSB LDINT,I YES-LOAD TRAP CELLS WITH ERROR MSG LDA CMD JSB INTJP,I LOAD COMMAND CH TRAP CELL DEF TCCMD INTERRUPT LINK TO BASE PAGE DEF EPT01 DESTINATION OF INTERRUPT JUMP JMP FLGW4 GO WAIT FOR INTERRUPT FLGW3 EQU * JSB IBTB GO CHECK BUSY BITS FLGW1 SFC CMMD IS COMMAND FLAG SET? JMP EPT01 YES-EXIT ROUTINE LDA .1 NO- JSB TMRR,I GO WAIT 1 MILLI-SECOND ISZ FLGW2 IS TIME OUT COUNTER ZERO? JMP FLGW1 NO-LOOP FLGW5 EQU * JSB CLEAR CLEAR CONTROLLER CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT LOST COMND FLAG DEF E145 POINTER TO MESSAGE JMP EPT01 ERROR-EXIT E145 EQU * ASC 10,E145 LOST CMND FLAG/ EPT01 EQU * JSB LDINT,I LOAD TRAP CELLS WITH ER MSG LDA AREG RESTORE THE "A" REGISTER LDB BREG RESTORE THE "B" REG JMP FLGWT,I * FLGW2 NOP TIME OUT COUNTER * FLGW4 EQU * WAIT FOR INTERRUPT ROUTINE LDA .1 GO WAIT FOR 1 MILL-SEC JSB TMRR,I ISZ FLGW2 INCREMENT TIME OUT COUNTER JMP FLGW4 NOT FINISHED-LOOP JMP FLGW5 TIME OUT-GO REPORT ERROR * * BSRWF NOP BACKSPACE RECORD WITH FLAG LOOP LDB BSR BACKSPACE RECORD JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT JMP BSRWF,I EXIT * BSRWO NOP BACKSPACE RECORD W/O FLAG LOOP LDB BSR BACKSPACE RECORD JSB OCMMD OUTPUT COMMAND JMP BSRWO,I EXIT * * FORWARD SPACE RECORD ROUTINE * FSRWF NOP FORWARD SPACE RECORD WITH FLAG LDB FSR LOAD FORWARD SPACE RECORD JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT FOR FLAG JSB LPCK CHECK FOR LP CLEAR JMP FSRWF,I RETURN TO USER * REWIND SUBROUTINES * * * * REWIND UNIT ROUTINE * REWND NOP LDB REW LOAD REWIND JSB OCMMD OUTPUT REWIND COMMAND JSB FLGWT WAIT FOR COMMAND FLAG REW4 EQU * LDA MSKOL LOAD OFF-LINE BIT JSB BITCK IS THE BIT SET? JMP REW1 YES-REPORT ERROR LDA MSKRT IS TAPE BUSY AND REWINDING? JSB BITCK JMP REW4 YES-BITS SET LDA MSKLP LOAD LP BIT JSB BITCK IS IT SET? JMP REW3 YES-GO CHECK FOR LP EXIT JMP REW1 GO REPORT ERROR REW3 EQU * JSB STATS GET TAPE STATUS LDB MSKET LOAD EOT,TAPE BUSY, RW BITS ADB MSKRT AND B ISOLATE BITS IN STATUS SZA,RSS ARE ANY BITS SET? JMP REW2 NO-EXIT REW1 EQU * LDB MSKLP YES-REPORT ERROR JSB ERMS,I REPORT REWIND FAILURE DEF E035 JMP REW5 EXIT E035 EQU * ASC 09,E035 REWIND ERROR/ REW2 EQU * STA RECNO CLEAR RECORD COUNT REW5 EQU * JMP REWND,I EXIT * * STATUS ROUTINE * A REG.=STATUS * STATS NOP STA1 LIA CMMD STA STATU HOLD THE STATUS TEMPORARILY JMP STATS,I * * * * LPREW - ROUTINE REWINDS TAPE TO LP IF UNIT IS * NOT ALREADY AT LP * * CALL: * JSB LPREW * NORMAL RETURN (P+1) * LPREW NOP JSB CLEAR CLEAR CONTROLLER LDA MSKLP JSB BITCK IS LP BIT SET? JMP LPR01 YES-SKIP REWIND JSB REWND NO-REWIND UNIT LPR01 EQU * JMP LPREW,I RETURN TO USER * WTGAP NOP JSB FPCK CHECK FOR NO WRITE RING LDB GAP LOAD GAP COMMAND JSB OCMMD OUTPUT COMMAND JSB FLGWT WAIT FOR OPERATION TO FINISH LDA MSKLP CHECK FOR LOAD POINT JSB BITCK IS IT SET?