>7$J_>: `Q$ȋ @ B C  ` YSjLvLIBa$vLIK ` K e8}K xeK Ik}K 91jLpK %8}K j~ąe K #Y`K  9wWK P:K  ={L}K ! ]; UPDATE: 05-APR-73 MAGDSC.S04 04-05-73 ; UPDATE: 05-MAR-73 MAGDSC.S03 03-05-73 ; UPDATE: 07-FEB-73 MAGDSC.S02 02-07-73 ;ORIGIN:DECTAPE 12-24-72 MAGDSC.S01 ; DECTAPE #136 04-05-73 .NLIST TTM ;********* M A G T A P E T O D I S C ********** .TITLE MAGDSC .ENABL CDR &oQ((.h.XZ02468.& x7x7E e ".LfUw:WtEw5Y.rDF5  g.@dEt h 7 j7h. RV 5 J@. *. .oQ,XZ02468,& x7x7E e,LfUw:WtEw5B,rDF5  ,@dEt h 7 j7h, RV 5 J@, *. ,  e 7 w] ,0@dd~×bwT7 ; UPDATE: 05-APR-73 DSCMAG.S04 04-05-73 ; UPDATE: 05-MAR-73 DSCMAG.S03 03-05-73 ; UPDATE: 07-FEB-73 DSCMAG.S02 02-07-73 ;ORIGIN: CARDS 12-23-72 DSCMAG.S01 ; DECTAPE #136 04-05-73 .NLIST TTM ;********** D I S C T O M A G T A P E ********** .TITLE DSCMAG .ENABL CDR ;02-07-73 ;*********************************************************************** ;THIS PROGRAM TRANSFERS THE CONTENTS OF ONE FILE ON MAG TAPE ;TO THE SELECTED DISC. EITHER THE RF-11 DISC OR THE DDC DISC ;WHICH IS CURRENTLY CONNECTED MAY BE SELECTED. THE PROGRAM ;LOOKS FOR THE TAPE FILE MARK TO DETERMINE WHEN THE TRANSFER ;IS COMPLETE. DATA IS READ FROM TAPE IN 2K-WORD RECORDS. ;IT IS WRITTEN TO .  e 7 w] .0@dd~×bwT7  .V? f`_d5.|ߋb5bߋc7e~ |.   v@.5PU@7 <Ìo. ; b  b5g5. 6 x-5 f8.: w0.`& x ,V? f`_d5,|ߋb5bߋc7e~ |,   v),5PU@7 <ÌX, ; b  b5g5, 6 x-5 f!,: w,`& xf,x@0& @w& AwN j fO ;02-07-73 ;*********************************************************************** ;THIS PROGRAM TRANSFERS THE CONTENTS OF THE SELECTED DISC TO ;MAG TAPE. EITHER THE RF-11 DISC OR THE DDC DISC CURRENTLY ;CONNECTED MAY BE SELECTED. THE PROGRAM SENSES [NED] FOR THE ;PURPOSE OF DETERMINING WHEN THE OPERATION IS COMPLETE. ;DATA IS TRANSFERRED FROM DISC IN 16K-WORD BLOCKS. ;IT IS WRITTEN TO MAG TAPE IN DISC IN 16K-WORD BLOCKS. ;THE "DONE" MSG [I100] DISPLAYS THE # OF BLOCKS TRANSFERRED. ;A WRITE CHECK IS PERFORMED AT THE OPTION OF THE OPERATOR. ;OPTION-SELECTION IS DIRECTED THROUGH THE CONSOLE SWITCHES: ; BIT # I F C L E A R / I F S E T ; 0-2 DO NOT SKIP ANY FILES SKIP 1 TO 7 FILE MARKS ; 3 DISABLE TAPE INTERRUPT ENABLE TAPE INTERRUPT ; 4 DISABLE DISC INTERRUPT ENABLE DISC INTERRUPT ; 5 f .x@0& @w& Awe j ff.2K-WORD RECORDS. ;THE "DONE" MSG [I100] DISPLAYS THE # OF BLOCKS TRANSFERRED. ;A WRITE CHECK IS PERFORMED AT THE OPTION OF THE OPERATOR. ;OPTION-SELECTION IS DIRECTED THROUGH THE CONSOLE SWITCHES: ; BIT # I F C L E A R / I F S E T ; 0-2 DO NOT SKIP ANY FILES SKIP 1 TO 7 FILE MARKS ; 3 DISABLE TAPE INTERRUPT ENABLE TAPE INTERRUPT ; 4 DISABLE DISC INTERRUPT ENABLE DISC INTERRUPT ; 5 DO DO NOT PERFORM WRITE CHECK / PERFORM WRITE CHECK ; 6-7 SELECT TAPE UNIT 0 TO 3 ; 8-14 SELECT DDC DISC =[125]: SELECT RF-11 DISC 03-05-73 ; 15 REPORT ALL ERRORS IGNORE ALL ERRORS ;ERROR MESSAGES PRINTED BY THIS PROGRAM: ; I100 PROGRAM COMPLETE: DISPLAY # OF 16K-WORD BLOCKS XFERRED ; A100 UPPER BYTE OF CONSOLE SWITCHES NOT SET PROPERLY ; A101 SELECTED TAPE UNIT NOT READY AND/OR WRITE-ENABLED ; F2&oQ((.R.XZ02468.& x7x7E e ".LlUwPWtEw5=.rDF5  ;.@dEt j 7 jf. @X D5 H.> *, .oQ,XZ02468,& x7x7E e,LlUwPWtEw5&,rDF5  Z,@dEt j 7 jf, @X D5 H,> *, ,  e 7 w]#,0 @dd~×bwh  NOT PERFORM WRITE CHECK / PERFORM WRITE CHECK ; 6-7 SELECT TAPE UNIT 0 TO 3 ; 8-14 SELECT DDC DISC =[125]: SELECT RF-11 DISC 03-05-73 ; 15 REPORT ALL ERRORS IGNORE ALL ERRORS ;ERROR MESSAGES PRINTED BY THIS PROGRAM: ; I100 PROGRAM COMPLETE: DISPLAY # OF 16K-WORD BLOCKS XFERRED ; A100 UPPER BYTE OF CONSOLE SWITCHES NOT SET PROPERLY ; A101 SELECTED TAPE UNIT NOT READY AND/OR WRITE-ENABLED ; F200 TA00 TAPE ERROR. DISPLAY: STATUS ; F201 DISC ERROR. DISPLAY: STATUS ;THE DISPLAY REGISTER SHOWS THE CURRENT STATE OF THE PROGRAM. ;THE UPPER BYTE ALWAYS SHOWS THE NUMBER OF THE CURRENT 16K-WORD BLOCK ;BEING PROCESSED. THE FIRST BLOCK IS NUMBER 0. ;(ALL ONES IN THE UPPER BYTE INDICATES TAPE SKIP-FILE OPERATION.) ;THE LOWER BYTE INDICATES THE PHASE OF THAT BLOCK. A [017] SHOWS A DISC ;READ IN PROGRESS. A [360] SHOWS A DISC WRITE. A [377] MEANS THAT A ;DISC WRITE-CHECK IS IN PROG.  e 7 w]:.0 @dd~×bwh 7 S.V ?ռ f`_d.|5ߋb5bߋc7e~. v   v.5JU@7 6Ì. 8 b  b5g.5  x-5 f.: w..`&B7 <,V ?ռ f`_d,|5ߋb5bߋc7e~, v   v,5JU@7 6Ì, 8 b  b5g,5  x-5 f,: w,`&BE x,x |~@0*& @wv& APE ERROR. DISPLAY: STATUS ; F201 DISC ERROR. DISPLAY: STATUS ;THE DISPLAY REGISTER SHOWS THE CURRENT STATE OF THE PROGRAM. ;THE UPPER BYTE ALWAYS SHOWS THE NUMBER OF THE CURRENT 16K-WORD BLOCK ;BEING PROCESSED. THE FIRST BLOCK IS NUMBER 0. ;(ALL ONES IN THE UPPER BYTE INDICATES TAPE SKIP-FILE OPERATION.) ;THE LOWER BYTE INDICATES THE PHASE OF THAT BLOCK. A [017] SHOWS A DISC ;READ IN PROGRESS. A [360] SHOWS A DISC WRITE. A [377] MEANS THAT A ;DISC WRITE-CHECK IS IN PROGRESS. RESS. ALL OTHER PATTERNS IN ;THE LOWER BYTE INDICATE TAPE ACTION. THE LOW 4 BITS INDICATE THE ;CURRENT TAPE RECORD NUMBER FROM 1 TO 8. THE UPPER TWO BITS (6&7) SHOW ;THE TAPE OPERATION: 0-READ; 1-WRITE; 2-BACKSPACE; 3-RE-READ ;*********************************************************************** .PAGE R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 SWR=177570 ;MAG TAPE REGISTERS: TWC = 167540 ;WC TST = 167542 ;STATUS TCD = 167544 ;COMMAND TMA = E x.x |~@06,& @wv& Awp T PNwp T P7. ALL OTHER PATTERNS IN ;THE LOWER BYTE INDICATE TAPE ACTION. THE LOW 4 BITS INDICATE THE ;CURRENT TAPE RECORD NUMBER FROM 1 TO 8. THE UPPER TWO BITS (6&7) SHOW ;THE TAPE OPERATION: 0-READ; 1-WRITE; 2-BACKSPACE; 3-RE-READ ;*********************************************************************** .PAGE R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 SWR=177570 ;MAG TAPE REGISTERS: TWC = 167540 ;WC TST = 167542 ;STATUS TCD = 167544 ;COMMAND TMA = 167546 167546 ;CMA TIV=104 BFSTRT = 20000 ;START OF 16-K WORD BUFFER DSCTAB: ;TABLE OF DISC REGISTER ADDRESSES ; FOR THE DDC DISCS: 165300 ;DCS 165302 ;WC 165304 ;CMA 165306 ;DAR 165310 ;DAE 130 ;I.V. 132 ; FOR THE RF-11 DISC: 177460 ;DCS 177462 ;WC ;UPDATE: 26-FEB-73 MAGDSC.SX2 FEB26FST ; UPDATE: 07-FEB-73 MAGDSC.S02 02-07-73 ;ORIGIN:DECTAPE 12-24-72 MAGDSC.S01 .NLIST TTM ;********* M A G T A P E T O D I S C ********** .TITLE MAGDSC .ENABL CDR ;02-07-73 ;*********************************************************************** ;THIS PROGRAM TRANSFER&oQ((.v.XZ02468.& x7x7E e ".Ldw0WtEw5;.rDF5  .@dEt h 7 j7h. RV 5 J@. *.  ;CMA TIV=104 BFSTRT = 20000 ;START OF 16-K WORD BUFFER DSCTAB: ;TABLE OF DISC REGISTER ADDRESSES ; FOR THE DDC DISCS: 165300 ;DCS 165302 ;WC 165304 ;CMA 165306 ;DAR 165310 ;DAE 130 ;I.V. 132 ; FOR THE RF-11 DISC: 177460 ;DCS 177462 ;WC ! 177464 ;CMA 177466 ;DAR 177470 ;DAE 204 ;I.V. 206 DINTFG: .WORD 0 TINTFG: .WORD 0 TAPCMD: .WORD 0 DSCBLK: .WORD 0 DISPLAY:.WORD 0 SWIMAG: .WORD 0 TMPW01: .WORD 0 TAPADR: .WORD 0 ERFLAG: .WORD 0 02-07-73 .PAGE DSCMAG: ;ENTRY AND RE-ENTRY POINT CLR @#SWR "S THE CONTENTS OF ONE FILE ON MAG TAPE ;TO THE SELECTED DISC. EITHER THE RF-11 DISC OR THE DDC DISC ;WHICH IS CURRENTLY CONNECTED MAY BE SELECTED. THE PROGRAM ;LOOKS FOR THE TAPE FILE MARK TO DETERMINE WHEN THE TRANSFER ;IS COMPLETE. DATA IS READ FROM TAPE IN 2K-WORD RECORDS. ;IT IS WRITTEN TO DISC IN 16K-WORD BLOCKS. ;THE "DONE" MSG [I100] DISPLAYS THE # OF BLOCKS TRANSFERRED. ;A WRITE CHECK IS PERFORMED AT THE OPTION OF THE OPERATOR. #.  e 7 w] .0 bd~×bwJ7  l.V? f`_d5H.|ߋb5bߋc7e~ ~ .   v=.5RU@7 >Ì i.; "b  b5g5. 4 x-5 fC.: wY.`b x$ 177464 ;CMA 177466 ;DAR 177470 ;DAE 204 ;I.V. 206 DINTFG: .WORD 0 TINTFG: .WORD 0 TAPCMD: .WORD 0 DSCBLK: .WORD 0 DISPLAY:.WORD 0 SWIMAG: .WORD 0 TMPW01: .WORD 0 TAPADR: .WORD 0 ERFLAG: .WORD 0 02-07-73 .PAGE DSCMAG: ;ENTRY AND RE-ENTRY POINT CLR @#SWR ;CLEAR D%;CLEAR DISPLAY LIGHTS CLRB DSWICH ;RESET RF-11 LOGIC SHUNT MOV @#SWR,R0 ;OPTION SELECT PATTERN MOV R0,SWIMAG ;SAVE SELECT IMAGE TO FREE UP R0 BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5 ;INIT FOR DDC DISC SWAB R0 ;WHICH DISC? BEQ DSCM10 ;DDC ADD #16,R5 ;BUMP TABLE POINTER INCB DSWICH ;OPEN SHUNT AROUND RF-11& ;OPTION-SELECTION IS DIRECTED THROUGH THE CONSOLE SWITCHES: ; BIT # I F C L E A R / I F S E T ; 0-2 DO NOT SKIP ANY FILES SKIP 1 TO 7 FILE MARKS ; 3 DISABLE TAPE INTERRUPT ENABLE TAPE INTERRUPT ; 4 DISABLE DISC INTERRUPT ENABLE DISC INTERRUPT ; 5 DO NOT PERFORM WRITE CHECK / PERFORM WRITE CHECK ; 6-7 SELECT TAPE UNIT 0 TO 3 ; 8-14 SELECT DDC DISC SELECT RF-11 DIS'x.ww x t"(ISPLAY LIGHTS CLRB DSWICH ;RESET RF-11 LOGIC SHUNT MOV @#SWR,R0 ;OPTION SELECT PATTERN MOV R0,SWIMAG ;SAVE SELECT IMAGE TO FREE UP R0 BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5 ;INIT FOR DDC DISC SWAB R0 ;WHICH DISC? BEQ DSCM10 ;DDC ADD #16,R5 ;BUMP TABLE POINTER INCB DSWICH ;OPEN SHUNT AROUND RF-11 DAR LOG) DAR LOGIC CMPB R0,#125 ;RF-11 SELECTED, OR DID (S)HE BLOW IT? 03-05-73 BEQ DSCM10 JMP SELERR ;SELECT ERROR DSCM10: SWAB R0 ;BACK TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAPE UNIT SELECT & INT ENABLE MOV R1,TAPCMD ;SAVE IT BIT #1000,R1 ;WAS INT ENABLED? BEQ DSCM12 ;NO MOV #TAPINT,@#TIV ;SET UP TAPE*C ; 15 REPORT ALL ERRORS IGNORE ALL ERRORS ;ERROR MESSAGES PRINTED BY THIS PROGRAM: ; I100 PROGRAM COMPLETE: DISPLAY # OF 16K-WORD BLOCKS XFERRED ; A100 UPPER BYTE OF CONSOLE SWITCHES NOT SET PROPERLY ; A101 SELECTED TAPE UNIT NOT READY AND/OR WRITE-ENABLED ; F200 TAPE ERROR. DISPLAY: STATUS ; F201 DISC ERROR. DISPLAY: STATUS ;THE DISPLAY REGISTER SHOWS THE CURRENT STATE OF THE PROGRAM. ;THE UPPER BYTE ALWAYS SHOWS THE NUM,IC CMPB R0,#125 ;RF-11 SELECTED, OR DID (S)HE BLOW IT? 03-05-73 BEQ DSCM10 JMP SELERR ;SELECT ERROR DSCM10: SWAB R0 ;BACK TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAPE UNIT SELECT & INT ENABLE MOV R1,TAPCMD ;SAVE IT BIT #1000,R1 ;WAS INT ENABLED? BEQ DSCM12 ;NO MOV #TAPINT,@#TIV ;SET UP TAPE I.V. - I.V. MOV #5*40,@#TIV+2 DSCM12: BIT #20,R0 ;IS DISC INT ENABLED? BEQ DSCM14 ;NO MOV #DSCINT,@12(R5) ;SET UP DISC I.V. MOV #6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAPE MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM18 ;NONE 02-07-73 DSCM16: MOV #20,-(SP) MO.BER OF THE CURRENT 16K-WORD BLOCK ;BEING PROCESSED. THE FIRST BLOCK IS NUMBER 0. ;(ALL ONES IN THE UPPER BYTE INDICATES TAPE SKIP-FILE OPERATION.) ;THE LOWER BYTE INDICATES THE PHASE OF THAT BLOCK. A [017] SHOWS A DISC ;READ IN PROGRESS. A [360] SHOWS A DISC WRITE. A [377] MEANS THAT A ;DISC WRITE-CHECK IS IN PROGRESS. ALL OTHER PATTERNS IN ;THE LOWER BYTE INDICATE TAPE ACTION. THE LOW 4 BITS INDICATE THE ;CURRENT TAPE RECORD NUMBER FROM 1 TO 8. THE UPPER TWO BITS (6&7) SHOW ;THE TAP/.oQ,XZ02468,& x7x7E e,Ldw0WtEw5$,rDF5  ,@dEt h 7 j7h, RV 5 J@, *. ,  e 7 w] ,0 bd~×bwJ7  0 MOV #5*40,@#TIV+2 DSCM12: BIT #20,R0 ;IS DISC INT ENABLED? BEQ DSCM14 ;NO MOV #DSCINT,@12(R5) ;SET UP DISC I.V. MOV #6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAPE MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM18 ;NONE 02-07-73 DSCM16: MOV #20,-(SP) MOV #-1V #-1,DSCBLK ;SHOW THAT SKIP FILE IS IN PROGRESS JSR PC,TAPEGO ;SPACE PAST [N=(R2)] FILE MARKS .PAGE ;THE MAG TAPE IS NOW POSITIONED IN THE GAP PRECEDING THE FIRST RECORD. ;FIRST READ 8 RECORDS OF 2K-WORDS EACH FROM THE TAPE. ;THEN WRITE THE 16K-WORDS TO DISC AS ONE BLOCK. ;IF WRITE CHECK SELECTED, BACK UP TAPE, RE-READ THE 8 RECORDS, ;AND WRITE-CHECK TO THE DISC. THEN READ THE NEXT 8 TAPE RECORDS. ;WHEN A FILE MARK IS DETECTED ON THE FIRST READ OF A NEW B2E OPERATION: 0-READ; 1-WRITE; 2-BACKSPACE; 3-RE-READ ;*********************************************************************** .PAGE R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 SWR=177570 ;MAG TAPE REGISTERS: TWC = 167540 ;WC TST = 167542 ;STATUS TCD = 167544 ;COMMAND TMA = 167546 ;CMA TIV=104 BFSTRT = 20000 ;START OF 16-K WORD BUFFER DSCTAB: ;TABLE OF DISC REGISTER ADDRESSES ; FOR THE DDC DISCS: 165300 3U,V? f`_d51,|ߋb5bߋc7e~ ~,   v&,5RU@7 >Ì R,; "b  b5g5, 4 x-5 f,,: wB,`b xx,ww x t .41,DSCBLK ;SHOW THAT SKIP FILE IS IN PROGRESS JSR PC,TAPEGO ;SPACE PAST [N=(R2)] FILE MARKS .PAGE ;THE MAG TAPE IS NOW POSITIONED IN THE GAP PRECEDING THE FIRST RECORD. ;FIRST READ 16K-WORDS OFF DISC. ;THEN WRITE 8 RECORDS OF 2K-WORDS EACH TO TAPE. ;IF WRITE CHECK SELECTED, BACK UP TAPE, RE-READ THE 8 RECORDS, ;AND WRITE-CHECK TO THE DISC. THEN ADVANCE TO NEXT DISC BLOCK. ;CONTINUE UNTIL A DISC READ REQUEST RESULTS IN A [NED]. DSCM18: 5LOCK WITH ;"ODD CHAR" THE ONLY OTHER ERROR, THE PROGRAM ASSUMES IT HAS ;REACHED THE END OF THE TRANSFER. IF THERE ARE NO OTHER ERRORS, ;THE "DONE" SEQUENCE IS ENTERED. THE PRINTOUT OF THE NUMBER OF 16K-WD ;BLOCKS TRANSFERRED PROVIDES A CHECK ON THE SUCCESS OF THE OPERATION. DSCM18: 02-07-73 CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS WRITTEN DSCM206 ;DCS 165302 ;WC 165304 ;CMA 165306 ;DAR 165310 ;DAE 130 ;I.V. 132 ; FOR THE RF-11 DISC: 177460 ;DCS 177462 ;WC 177464 ;CMA 177466 ;DAR 177470 ;DAE 204 ;I.V. 206 DINTFG: .WF 02-07-73 CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS READ DSCM20: MOVB #17,DISPLAY ;INDICATE A DISC READ MOV #5,-(SP) JSR PC,DISCGO ;READ NEXT 16-K WORDS FROM DISC MOVB #100,DISPLAY ;INDICATE TAPE WRITE MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #2,-(SP) ;WRITE COMMAND E: CLRB DISPLAY ;INDICATE A TAPE READ MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #1,-(SP) ;READ THE NEXT 8 RECORDS... JSR PC,TAPEGO ;...AND GO TO "DONE" UPON END-OF-FILE. MOVB #360,DISPLAY ;INDICATE A DISC WRITE MOV #3,-(SP) JSR PC,DISCGO ;WRITE THE 16K-WORD BUFFER TO DISC BIT #40,SWIMAG ;WRITE CHECK SELECTED? BEQ DSCM30 ;NO MOV GORD 0 TINTFG: .WORD 0 TAPCMD: .WORD 0 DSCBLK: .WORD 0 DISPLAY:.WORD 0 SWIMAG: .WORD 0 TMPW01: .WORD 0 TAPADR: .WORD 0 ERFLAG: .WORD 0 02-07-73 .PAGE DSCMAG: ;ENTRY AND RE-ENTRY POINT CLR @#SWR ;CLEAR DISPLAY LIGHTS CLRB DSWICH ;RESET RF-11 LOGIC SHUNT MOV @#SWR,R0 ;OPTION SELECT PATTERN MOV R0,SWIMAG ;SAVE SELECT IH&oQ((.^.XZ02468.& x7x7E e ".LjwHWtEw5.rDF5  S.@dEt j 7 jf. @X D5 H.> *, """"""" """""""D@DDDDDDDD@DDDDD "DDDDD """ADDB CoQ{ oQ^  oQK  oQ{ oQ^ oQK Qy{ Qy^ 'QyK +3y^ 7Py{ TyK \MK9 zkQ0Tz^0czK03$Dwa ͋,L  B8w&B ` % & }&*C$$Βe E%>k  aʋaՀ$ & * P$ ΋Ί   ΋   d Ί  ( 1'u  Q$f $5@ U C΋ Cb M΋U@ U &  B" .&0 M &0 & M 0 &I#200,DISPLAY ;INDICATE TAPE BACK-SPACE MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV #300,DISPLAY ;INDICATE READ FOR WRITE-CHECK MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST READ MOVB #377,DISPLAY ;INDICATE DISC WRITE-CHECK MOV #7,-(SP) JSR PC,DISCGO ;WRITE CHECK THE DISC DSCM30JJSR PC,TAPEGO ;GO WRITE THE 8 RECORDS BIT #40,SWIMAG ;WRITE CHECK SELECTED? BEQ DSCM30 ;NO MOV #200,DISPLAY ;INDICATE TAPE BACK-SPACE MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV #300,DISPLAY ;INDICATE READ FOR WRITE-CHECK MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUKMAGE TO FREE UP R0 BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5 ;INIT FOR DDC DISC SWAB R0 ;WHICH DISC? BEQ DSCM10 ;DDC ADD #16,R5 ;BUMP TABLE POINTER INCB DSWICH ;OPEN SHUNT AROUND RF-11 DAR LOGIC CMPB R0,#177 ;IS RF-11 SELECTED, OR DID HE BLOW IT? BEQ DSCM10 JMP SELERR ;SELECT ERROR DSCM10: SWAB R0 L.  e 7 w]<.0  bd~×bw` 7 .V ?վ f`_d5.|ߋb5bߋc7e~. x   v.5LU@7 8Ì. 8 b  b5gy.5 x-5 f.: wU.`bBM: ADD #400,R4 ;BUMP THE DAR MEMORY INC DSCBLK ;BUMP BLOCK COUNT BR DSCM20 ;BACK FOR MORE .PAGE TAPEGO: ;THIS IS THE MAG TAPE "GO" ROUTINE CLR ERFLAG ;RESET RE-TRY COUNTER 02-07-73 TAPE02: ;ENTER HERE FOR BACK-UP ON RE-TRY 02-07-73 MOV 2(SP),R1 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE MOV R1,TMPW01 NST WROTE MOVB #377,DISPLAY ;INDICATE DISC WRITE-CHECK MOV #7,-(SP) JSR PC,DISCGO ;WRITE CHECK THE DISC DSCM30: ADD #400,R4 ;BUMP THE DAR MEMORY INC DSCBLK ;BUMP BLOCK COUNT BR DSCM20 ;BACK FOR MORE .PAGE TAPEGO: ;THIS IS THE MAG TAPE "GO" ROUTINE CLR ERFLAG ;RESET RE-TRY COUNTER 02-07-73 TAPE02: ;ENTER HERE FOR BAO ;BACK TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAPE UNIT SELECT & INT ENABLE MOV R1,TAPCMD ;SAVE IT BIT #1000,R1 ;WAS INT ENABLED? BEQ DSCM12 ;NO MOV #TAPINT,@#TIV ;SET UP TAPE I.V. MOV #5*40,@#TIV+2 DSCM12: BIT #20,R0 ;IS DISC INT ENABLED? BEQ DSCM14 ;NO MOV #DSCINT,@12(R5) ;SET UP DISC I.V. PE xk.x w w| ` \Q ;SAVE IT FOR CHECK BELOW BIS TAPCMD,R1 ;INSERT THE UNIT # AND INTERRUPT BITS MOV #BFSTRT,TAPADR ;INIT LOCAL MEMORY OF TAPE CMA TAPE10: MOV #40000,@#TCD ;RESET CONTROLLER 04-05-73 MOV TAPCMD,@#TCD ;SELECT THE UNIT 02-07-73 MOV #4000,R3 SOB R3,. ;LOOP TO ALLOW LOGIC TO SETTLE MOVB @#TST,R3 ;GET LOWER STATUS BYTE BMI TAPE20 ;RRCK-UP ON RE-TRY 02-07-73 MOV 2(SP),R1 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE MOV R1,TMPW01 ;SAVE IT FOR CHECK BELOW BIS TAPCMD,R1 ;INSERT THE UNIT # AND INTERRUPT BITS MOV #BFSTRT,TAPADR ;INIT LOCAL MEMORY OF TAPE CMA TAPE10: MOV #40000,@#TCD ;RESET CONTROLLER 04-05-73 MOV TAPCMD,@#TCD ;SELECT THE UNIT 02-07-73 MOV #400SMOV #6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAPE MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM18 ;NONE 02-07-73 DSCM16: MOV #20,-(SP) MOV #-1,DSCBLK ;SHOW THAT SKIP FILE IS IN PROGRESS JSR PC,TAPEGO ;SPACE PAST [N=(R2)] FILE MARKS .PAGE ;THE MAG TAPE IS NOW POSITIONED IN THE GAP PRECEDINGUEADY JMP TAPNRD TAPE20: CLR TINTFG MOV #9.,-(SP) SUB R2,(SP) BICB #77,DISPLAY BISB (SP)+,DISPLAY ;SET UP WITH NEW RECORD # JSR PC,LIGHTS ;UPDATE DISPLAY MOV TAPADR,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV R1,@#TCD ;PERFORM COMMAND BIT #10,SWIMAG ;IS TAPE INT ENB? BNE TAPE50 ;YES TSTB @#TST V0,R3 SOB R3,. ;LOOP TO ALLOW LOGIC TO SETTLE MOVB @#TST,R3 ;GET LOWER STATUS BYTE BMI TAPE14 ;READY TAPE12: JMP TAPNRD ;NOT READY TAPE14: ASR R3 ;CHECK FILE PROTECT BIT BCS TAPE12 ;NO WRITE RING TAPE20: CLR TINTFG MOV #9.,-(SP) SUB R2,(SP) BICB #77,DISPLAY BISB (SP)+,DISPLAY ;SET UP WITH NEW RECORD # JSR PC,LIGHTS W THE FIRST RECORD. ;FIRST READ 8 RECORDS OF 2K-WORDS EACH FROM THE TAPE. ;THEN WRITE THE 16K-WORDS TO DISC AS ONE BLOCK. ;IF WRITE CHECK SELECTED, BACK UP TAPE, RE-READ THE 8 RECORDS, ;AND WRITE-CHECK TO THE DISC. THEN READ THE NEXT 8 TAPE RECORDS. ;WHEN A FILE MARK IS DETECTED ON THE FIRST READ OF A NEW BLOCK WITH ;"ODD CHAR" THE ONLY OTHER ERROR, THE PROGRAM ASSUMES IT HAS ;REACHED THE END OF THE TRANSFER. IF THERE ARE NO OTHER ERRORS, ;THE "DONE" SEQUENCE IS ENTERED. THE PRINTOUT OF THE X;UPDATE: 26-FEB-73 DSCMAG.SX2 FEB26FST ; UPDATE: 07-FEB-73 DSCMAG.S02 02-07-73 ;ORIGIN: CARDS 12-23-72 DSCMAG.S01 .NLIST TTM ;********** D I S C T O M A G T A P E ********** .TITLE DSCMAG .ENABL CDR ;02-07-73 ;*********************************************************************** ;THIS PROGRAM TRANSFERY BMI .-4 ;FIRST WAIT 'TILL READY GOES FALSE BIT #200,@#TST ;THEN WAIT 'TILL IT GOES TRUE AGAIN 02-07-73 BEQ .-6 02-07-73 TAPE30: TSTB @#TST+1 ;ANY ERRORS? BNE TAPERR ;STATUS ERROR BYTE NOT ZERO TAPE40: ADD #10000,TAPADR ;BUMP LOCAL CMA MEMORY FOR NEXT TIME SOB R2,TAPE10 ;LOOP FOR SPECIFIE+ COUNT RTS PC ;ALL DONE Z ;UPDATE DISPLAY MOV TAPADR,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV R1,@#TCD ;PERFORM COMMAND BIT #10,SWIMAG ;IS TAPE INT ENB? BNE TAPE50 ;YES TSTB @#TST BMI .-4 ;FIRST WAIT 'TILL READY GOES FALSE BIT #200,@#TST ;THEN WAIT 'TILL IT GOES TRUE AGAIN 02-07-73 BEQ .-6 02-0[NUMBER OF 16K-WD ;BLOCKS TRANSFERRED PROVIDES A CHECK ON THE SUCCESS OF THE OPERATION. DSCM18: 02-07-73 CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS WRITTEN DSCM20: CLRB DISPLAY ;INDICATE A TAPE READ MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #1,-(SP) ;READ THE NEXT 8 RECORDS... JSR \S THE CONTENTS OF THE SELECTED DISC TO ;MAG TAPE. EITHER THE RF-11 DISC OR THE DDC DISC CURRENTLY ;CONNECTED MAY BE SELECTED. THE PROGRAM SENSES [NED] FOR THE ;PURPOSE OF DETERMINING WHEN THE OPERATION IS COMPLETE. ;DATA IS TRANSFERRED FROM DISC IN 16K-WORD BLOCKS. ;IT IS WRITTEN TO MAG TAPE IN 2K-WORD RECORDS. ;THE "DONE" MSG [I100] DISPLAYS THE # OF BLOCKS TRANSFERRED. ;A WRITE CHECK IS PERFORMED AT THE OPTION OF THE OPERATOR. ] TAPE50: WAIT TST TINTFG ;DID INT COME YET? BEQ TAPE50 BR TAPE30 .PAGE DISCGO: ;MAKE THE DISC GO JSR PC,LIGHTS ;UPDATE DISPLAY MOV #-40000,@2(R5) ;WC FOR 16K WORDS MOV #BFSTRT,@4(R5) ;CMA MOV R4,R3 ;CURRENT DAR DSWICH: BR .+2 ;SHUNT SWITCH AROUND RF-11 LOGIC BR DISC10 CLR R2 ;RF-11 LOGIC: READY FOR EXTE^7-73 TAPE30: TSTB @#TST+1 ;ANY ERRORS? BNE TAPERR ;STATUS ERROR BYTE NOT ZERO TAPE40: ADD #10000,TAPADR ;BUMP LOCAL CMA MEMORY FOR NEXT TIME SOB R2,TAPE10 ;LOOP FOR SPECIFIE+ COUNT RTS PC ;ALL DONE TAPE50: WAIT TST TINTFG ;DID INT COME YET? BEQ TAPE50 BR TAPE30 .PAGE DISCGO: ;MAKE THE DISC GO JSR PC,LIGHTS ;UPDATE DISPLAY _PC,TAPEGO ;...AND GO TO "DONE" UPON END-OF-FILE. MOVB #360,DISPLAY ;INDICATE A DISC WRITE MOV #3,-(SP) JSR PC,DISCGO ;WRITE THE 16K-WORD BUFFER TO DISC BIT #40,SWIMAG ;WRITE CHECK SELECTED? BEQ DSCM30 ;NO MOV #200,DISPLAY ;INDICATE TAPE BACK-SPACE MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV `;OPTION-SELECTION IS DIRECTED THROUGH THE CONSOLE SWITCHES: ; BIT # I F C L E A R / I F S E T ; 0-2 DO NOT SKIP ANY FILES SKIP 1 TO 7 FILE MARKS ; 3 DISABLE TAPE INTERRUPT ENABLE TAPE INTERRUPT ; 4 DISABLE DISC INTERRUPT ENABLE DISC INTERRUPT ; 5 DO NOT PERFORM WRITE CHECK / PERFORM WRITE CHECK ; 6-7 SELECT TAPE UNIT 0 TO 3 ; 8-14 SELECT DDC DISC SELECT RF-11 DISC ; aNSION BITS ASHC #6,R2 ;SHIFT THE SECTOR ADDRESS TO WORD ADDR MOV R2,@10(R5) ;LOAD UP THE TRACK EXTENSION BITS DISC10: MOV R3,@6(R5) ;DAR (EITHER SECTOR OR WORD ADDRESS) MOV 2(SP),R3 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE BIT #20,SWIMAG ;IS DISC INT ENB SELECTED? BEQ DISC22 ;NO BIS #100,R3 DISC22: CLR DINTFG MOV R3,@0(R5) ;COMMAb MOV #-40000,@2(R5) ;WC FOR 16K WORDS MOV #BFSTRT,@4(R5) ;CMA MOV R4,R3 ;CURRENT DAR DSWICH: BR .+2 ;SHUNT SWITCH AROUND RF-11 LOGIC BR DISC10 CLR R2 ;RF-11 LOGIC: READY FOR EXTENSION BITS ASHC #6,R2 ;SHIFT THE SECTOR ADDRESS TO WORD ADDR MOV R2,@10(R5) ;LOAD UP THE TRACK EXTENSION BITS DISC10: MOV R3,@6(R5) ;DAR (EITHER SECTOR OR WORD ADDRESS) c #300,DISPLAY ;INDICATE READ FOR WRITE-CHECK MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST READ MOVB #377,DISPLAY ;INDICATE DISC WRITE-CHECK MOV #7,-(SP) JSR PC,DISCGO ;WRITE CHECK THE DISC DSCM30: ADD #400,R4 ;BUMP THE DAR MEMORY INC DSCBLK ;BUMP BLOCK COUNT BR DSCM20 ;BACK FOR MORE .PAGE TAPEGO: ;THIS IS THEd 15 REPORT ALL ERRORS IGNORE ALL ERRORS ;ERROR MESSAGES PRINTED BY THIS PROGRAM: ; I100 PROGRAM COMPLETE: DISPLAY # OF 16K-WORD BLOCKS XFERRED ; A100 UPPER BYTE OF CONSOLE SWITCHES NOT SET PROPERLY ; A101 SELECTED TAPE UNIT NOT READY AND/OR WRITE-ENABLED ; F200 TAPE ERROR. DISPLAY: STATUS ; F201 DISC ERROR. DISPLAY: STATUS ;THE DISPLAY REGISTER SHOWS THE CURRENT STATE OF THE PROGRAM. ;THE UPPER BYTE ALWAYS SHOWS THE NUMBER OF TeND! ASLB R3 ;CHECK INT ENB BMI DISC40 ;ENABLED: WAIT FOR INT TSTB @0(R5) ;WAIT HERE FOR READY BPL .-4 DISC30: ;HERE WHEN READY GOES TRUE OR INT COMES IN TST @0(R5) ;ERROR? BMI DSCERR ;YES RTS PC ;EVERYTING'S OK DISC40: WAIT ;WAIT FOR INTERRUPT TST DINTFG ;WAS IT THE DISC INT? BEQ DISCf MOV 2(SP),R3 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE BIT #20,SWIMAG ;IS DISC INT ENB SELECTED? BEQ DISC22 ;NO BIS #100,R3 DISC22: CLR DINTFG MOV R3,@0(R5) ;COMMAND! ASLB R3 ;CHECK INT ENB BMI DISC40 ;ENABLED: WAIT FOR INT TSTB @0(R5) ;WAIT HERE FOR READY BPL .-4 DISC30: ;HERE WHEN READY GOEg MAG TAPE "GO" ROUTINE CLR ERFLAG ;RESET RE-TRY COUNTER 02-07-73 TAPE02: ;ENTER HERE FOR BACK-UP ON RE-TRY 02-07-73 MOV 2(SP),R1 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE MOV R1,TMPW01 ;SAVE IT FOR CHECK BELOW BIS TAPCMD,R1 ;INSERT THE UNIT # AND INTERRUPT BITS MOV #BFSTRT,TAPADR ;INIT LOCAL MEMORY OF TAPE CMA TAPE10: CLR @#TST hHE CURRENT 16K-WORD BLOCK ;BEING PROCESSED. THE FIRST BLOCK IS NUMBER 0. ;(ALL ONES IN THE UPPER BYTE INDICATES TAPE SKIP-FILE OPERATION.) ;THE LOWER BYTE INDICATES THE PHASE OF THAT BLOCK. A [017] SHOWS A DISC ;READ IN PROGRESS. A [360] SHOWS A DISC WRITE. A [377] MEANS THAT A ;DISC WRITE-CHECK IS IN PROGRESS. ALL OTHER PATTERNS IN ;THE LOWER BYTE INDICATE TAPE ACTION. THE LOW 4 BITS INDICATE THE ;CURRENT TAPE RECORD NUMBER FROM 1 TO 8. THE UPPER TWO BITS (6&7) SHOW ;THE TAPE OPERATi40 ;NO BR DISC30 .PAGE TAPERR: ;A TAPE ERROR HAS BEEN DETECTED MOV @#TST,R0 ;TAPE STATUS BPL TAPER1 ;SOMETHING OTHER THAN FILE-MARK CLR @#TST ;RESET FILE-MARK FLAG BIT #^B0110011100000000,R0 ;ANY ERRORS OTHER THAN F/M? 02-07-73 BNE TAPER1 ;YES BIT #20,TMPW01 ;WAS THIS THE "SKIP" COMMAND? BNE TAPE40 ;YES - KEEP GOINjS TRUE OR INT COMES IN TST @0(R5) ;ERROR? BMI DSCERR ;YES RTS PC ;EVERYTING'S OK DISC40: WAIT ;WAIT FOR INTERRUPT TST DINTFG ;WAS IT THE DISC INT? BEQ DISC40 ;NO BR DISC30 .PAGE TAPERR: ;A TAPE ERROR HAS BEEN DETECTED MOV @#TST,R0 ;TAPE STATUS BPL TAPER1 ;WAS NOT A FILE MARK k ;RESET STATUS 02-07-73 MOV TAPCMD,@#TCD ;SELECT THE UNIT 02-07-73 MOV #4000,R3 SOB R3,. ;LOOP TO ALLOW LOGIC TO SETTLE MOVB @#TST,R3 ;GET LOWER STATUS BYTE BMI TAPE20 ;READY JMP TAPNRD TAPE20: CLR TINTFG MOV #9.,-(SP) SUB R2,(SP) BICB #77,DISPLAY BISB (SP)+,DISPLAY ;SET UP WITH NEW RECORD lION: 0-READ; 1-WRITE; 2-BACKSPACE; 3-RE-READ ;*********************************************************************** .PAGE R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 SWR=177570 ;MAG TAPE REGISTERS: TWC = 167540 ;WC TST = 167542 ;STATUS TCD = 167544 ;COMMAND TMA = 167546 ;CMA TIV=104 BFSTRT = 20000 ;START OF 16-K WORD BUFFER DSCTAB: ;TABLE OF DISC REGISTER ADDRESSES ; FOR THE DDC DISCS: 165300 ;DmG CMP R2,#8. ;WAS F/M ON 1ST READ FOR NEW BLOCK? BEQ DONE ;YEAH - WE CAN BE PRETTY SURE DIS IS DA END TAPER1: TST @#SWR ;ERR IGNORE BIT ON? BMI TAPE40 ;YES CMP ERFLAG,#8. ;HAVE WE EXHAUSTED RE-TRIES? 02-07-73 BEQ TAPER2 ;YES 02-07-73 BIT #3,R1 ;WAS ATTEMPT TO READ OR WRITE? 02-07-73 BEQ TAPER2 ;HARn 02-07-73 CLR @#TST ;RESET IN CASE O.K. BIT #^B0110011100000000,R0 ;ANY ERRORS OTHER THAN F/M? 02-07-73 BNE TAPER1 ;SOMETHING ELSE IS THERE BIT #24,TMPW01 ;WAS IT A FILE-MARK REQUEST? BNE TAPE40 ;WE WERE EXPECTING A F/M INDICATION TAPER1: TST @#SWR ;ERR IGNORE BIT ON? BMI TAPE40 ;YES CMP ERFLAG,#8. ;HAVE WE EXHAUSTED RE-TRIES? 02-07-73 o# JSR PC,LIGHTS ;UPDATE DISPLAY MOV TAPADR,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV R1,@#TCD ;PERFORM COMMAND BIT #10,SWIMAG ;IS TAPE INT ENB? BNE TAPE50 ;YES TSTB @#TST BMI .-4 ;FIRST WAIT 'TILL READY GOES FALSE BIT #200,@#TST ;THEN WAIT 'TILL IT GOES TRUE AGAIN 02-07-73 BEQ .-6 pCS 165302 ;WC 165304 ;CMA 165306 ;DAR 165310 ;DAE 130 ;I.V. 132 ; FOR THE RF-11 DISC: 177460 ;DCS 177462 ;WC 177464 ;CMA 177466 ;DAR 177470 ;DAE 204 ;I.V. 206 DINTFG: .WORD 0 qD ERROR IF NEITHER 02-07-73 INC ERFLAG ;KEEP TRACK OF NUMBER OF RE-TRIES 02-07-73 MOV R1,-(SP) ;SAVE CURRENT STATE OF THINGS 02-07-73 MOV R2,-(SP) 02-07-73 MOV DISPLAY,-(SP) ; 02-07-73 MOV #200,DISPLAY ;SHOW BACKSPACE 02-07-73 MOV #1,R2 r BEQ TAPER2 ;YES 02-07-73 BIT #3,R1 ;WAS ATTEMPT TO READ OR WRITE? 02-07-73 BEQ TAPER2 ;HARD ERROR IF NEITHER 02-07-73 INC ERFLAG ;KEEP TRACK OF NUMBER OF RE-TRIES 02-07-73 MOV R1,-(SP) ;SAVE CURRENT STATE OF THINGS 02-07-73 MOV R2,-(SP) 02-07-73 MOV DISPLAs 02-07-73 TAPE30: TSTB @#TST+1 ;ANY ERRORS? BNE TAPERR ;STATUS ERROR BYTE NOT ZERO TAPE40: ADD #10000,TAPADR ;BUMP LOCAL CMA MEMORY FOR NEXT TIME SOB R2,TAPE10 ;LOOP FOR SPECIFIE+ COUNT RTS PC ;ALL DONE TAPE50: WAIT TST TINTFG ;DID INT COME YET? BEQ TAPE50 BR TAPE30 .PAGE DISCGO: ;MAKE THE DISC GO JSR PC,LIGHTt TINTFG: .WORD 0 TAPCMD: .WORD 0 DSCBLK: .WORD 0 DISPLAY:.WORD 0 SWIMAG: .WORD 0 TMPW01: .WORD 0 TAPADR: .WORD 0 ERFLAG: .WORD 0 02-07-73 .PAGE DSCMAG: ;ENTRY AND RE-ENTRY POINT CLR @#SWR ;CLEAR DISPLAY LIGHTS CLRB DSWICH ;RESET RF-11 LOGIC SHUNT MOV @#SWR,R0 ;OPTION SELECT PATTERN MOV R0,SWIMAG ;SAVE SELECT IMAGE TO u 02-07-73 MOV #200,-(SP) ;SET TO BACKSPACE ONE RECORD 02-07-73 JSR PC,TAPE02 ;USE TAPE ROUTINE: DON'T CLEAR "ERFLAG" 02-07-73 SUB #10000,TAPADR ;BRING ADDRESS BACK TO PROPER VALUE 02-07-73 MOV (SP)+,DISPLAY 02-07-73 MOV (SP)+,R2 ;RESTORE 02-07-73 MOV (SP)+,R1 vY,-(SP) ; 02-07-73 MOV #200,DISPLAY ;SHOW BACKSPACE 02-07-73 MOV #1,R2 02-07-73 MOV #200,-(SP) ;SET TO BACKSPACE ONE RECORD 02-07-73 JSR PC,TAPE02 ;USE TAPE ROUTINE: DON'T CLEAR "ERFLAG" 02-07-73 SUB #10000,TAPADR ;BRING ADDRESS BACK TO PROPER VALUE 02-07-73 MOV (SP)+,DISPLAY wS ;UPDATE DISPLAY MOV #-40000,@2(R5) ;WC FOR 16K WORDS MOV #BFSTRT,@4(R5) ;CMA MOV R4,R3 ;CURRENT DAR DSWICH: BR .+2 ;SHUNT SWITCH AROUND RF-11 LOGIC BR DISC10 CLR R2 ;RF-11 LOGIC: READY FOR EXTENSION BITS ASHC #6,R2 ;SHIFT THE SECTOR ADDRESS TO WORD ADDR MOV R2,@10(R5) ;LOAD UP THE TRACK EXTENSION BITS DISC10: MOV R3,@6(R5) ;DAR (EITxFREE UP R0 BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5 ;INIT FOR DDC DISC SWAB R0 ;WHICH DISC? BEQ DSCM10 ;DDC ADD #16,R5 ;BUMP TABLE POINTER INCB DSWICH ;OPEN SHUNT AROUND RF-11 DAR LOGIC CMPB R0,#177 ;IS RF-11 SELECTED, OR DID HE BLOW IT? BEQ DSCM10 JMP SELERR ;SELECT ERROR DSCM10: SWAB R0 ;BACy02-07-73 JMP TAPE10 ;GO TRY AGAIN 02-07-73 TAPER2: 02-07-73 MOV R0,-(SP) ;PRINT TAPE STATUS MOV (PC)+,-(SP) .BYTE 200,3 ;F200: TAPE ERROR IOT DSCERR: ; A DISC ERROR HAS BEEN DETECTED TST @#SWR ;ERROR IGNORE ON? BPL .+4 ;NO: CONTINUE RTS PC z 02-07-73 MOV (SP)+,R2 ;RESTORE 02-07-73 MOV (SP)+,R1 02-07-73 JMP TAPE10 ;GO TRY AGAIN 02-07-73 TAPER2: 02-07-73 MOV R0,-(SP) ;PRINT TAPE STATUS MOV (PC)+,-(SP) .BYTE 200,3 ;F200: TAPE ERROR {HER SECTOR OR WORD ADDRESS) MOV 2(SP),R3 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE BIT #20,SWIMAG ;IS DISC INT ENB SELECTED? BEQ DISC22 ;NO BIS #100,R3 DISC22: CLR DINTFG MOV R3,@0(R5) ;COMMAND! ASLB R3 ;CHECK INT ENB BMI DISC40 ;ENABLED: WAIT FOR INT TSTB @0(R5) ;WAIT HERE FOR READY BPL .-4 DISC30|K TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAPE UNIT SELECT & INT ENABLE MOV R1,TAPCMD ;SAVE IT BIT #1000,R1 ;WAS INT ENABLED? BEQ DSCM12 ;NO MOV #TAPINT,@#TIV ;SET UP TAPE I.V. MOV #5*40,@#TIV+2 DSCM12: BIT #20,R0 ;IS DISC INT ENABLED? BEQ DSCM14 ;NO MOV #DSCINT,@12(R5) ;SET UP DISC I.V. MOV };YES: NOTHING ELSE TO DO BUT RETURN MOV @0(R5),-(SP) ;PUT DISC STATUS IN PRINTOUT MOV (PC)+,-(SP) .BYTE 201,3 ;F201: DISC ERROR IOT LIGHTS: MOVB DSCBLK,DISPLAY+1 MOV DISPLAY,@#SWR ;(SWR IS SIGN-EXTENDED ON BYTE MOVES) RTS PC .PAGE DONE: ;;ALL DONE: EXIT WITH TAPE JUST PAST THE FILE MARK MOV DSCBLK,-(SP) ;DISPLAY THE NUMBER OF DISC BLOCKS MOV (PC)+,-(SP) ~ IOT DSCERR: ; ADISC ERROR OR [NED] HAS OCCURRED MOV @0(R5),R2 MOV R2,R3 BIC #104377,R3 ;CLEAR ERR AND NED BITS (ALSO LOWER BYTE BEQ DONE ;[NED] HAS GONE TRUE WITH NO OTHER ERRORS TST @#SWR ;ERROR IGNORE ON? BPL .+4 ;NO: CONTINUE RTS PC ;YES: NOTHING ELSE TO DO BUT RETURN MOV R2,-(SP) ;ERROR: PUT STATUS IN MESSAGE MOV (PC)+,: ;HERE WHEN READY GOES TRUE OR INT COMES IN TST @0(R5) ;ERROR? BMI DSCERR ;YES RTS PC ;EVERYTING'S OK DISC40: WAIT ;WAIT FOR INTERRUPT TST DINTFG ;WAS IT THE DISC INT? BEQ DISC40 ;NO BR DISC30 .PAGE TAPERR: ;A TAPE ERROR HAS BEEN DETECTED MOV @#TST,R0 ;TAPE STATUS BPL TAPER1 ;SOMET#6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAPE MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM18 ;NONE 02-07-73 DSCM16: MOV #20,-(SP) MOV #-1,DSCBLK ;SHOW THAT SKIP FILE IS IN PROGRESS JSR PC,TAPEGO ;SPACE PAST [N=(R2)] FILE MARKS .PAGE ;THE MAG TAPE IS NOW POSITIONED IN THE GAP PRECEDING THE FIR .BYTE 100,0 ;I100: ALL DONE IOT EMT 60 SELERR: ;CONSOLE SWITCH SELECT ERROR CLR -(SP) MOV (PC)+,-(SP) .BYTE 100,1 ;A100: UPPER BYTE OF SWITCHES NOT SET IOT ;PRINT MSG & WAIT FOR PROPER SELECTION JMP DSCMAG ;TRY AGAIN TAPNRD: ;TAPE NOT READY CLR -(SP) MOV (PC)+,-(SP) .BYTE 101,1 ;A101: TAPE NOT READY -(SP) .BYTE 201,3 ;F201: DISC ERROR IOT LIGHTS: MOVB DSCBLK,DISPLAY+1 MOV DISPLAY,@#SWR ;(SWR IS SIGN-EXTENDED ON BYTE MOVES) RTS PC .PAGE DONE: ;ALL DONE: WRITE A FILE MARK AND EXIT MOV #1,R2 MOV #4,-(SP) JSR PC,TAPEGO ;WRITE ONE FILE MARK MOV DSCBLK,-(SP) ;DISPLAY THE NUMBER OF DISC BLOCKS MOV (PC)+,-(SP) .BYTE 100,0 ;IHING OTHER THAN FILE-MARK CLR @#TST ;RESET FILE-MARK FLAG BIT #^B0110011100000000,R0 ;ANY ERRORS OTHER THAN F/M? 02-07-73 BNE TAPER1 ;YES BIT #20,TMPW01 ;WAS THIS THE "SKIP" COMMAND? BNE TAPE40 ;YES - KEEP GOING CMP R2,#8. ;WAS F/M ON 1ST READ FOR NEW BLOCK? BEQ DONE ;YEAH - WE CAN BE PRETTY SURE DIS IS DA END TAPER1: TST @#SWR ;ERR IGNORE BIT ON? ST RECORD. ;FIRST READ 16K-WORDS OFF DISC. ;THEN WRITE 8 RECORDS OF 2K-WORDS EACH TO TAPE. ;IF WRITE CHECK SELECTED, BACK UP TAPE, RE-READ THE 8 RECORDS, ;AND WRITE-CHECK TO THE DISC. THEN ADVANCE TO NEXT DISC BLOCK. ;CONTINUE UNTIL A DISC READ REQUEST RESULTS IN A [NED]. DSCM18: 02-07-73 CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS READ DSCM20: IOT ;PRINT MSG & WAIT FOR OPERATOR TO READY UNIT JMP TAPE10 ;BACK & CHECK AGAIN DSCINT: INC DINTFG ;SHOW INT CAME IN RTI TAPINT: INC TINTFG ;SHOW TAPE INT CAME IN RTI .END DSCMAG 100: ALL DONE IOT EMT 60 SELERR: ;CONSOLE SWITCH SELECT ERROR CLR -(SP) MOV (PC)+,-(SP) .BYTE 100,1 ;A100: UPPER BYTE OF SWITCHES NOT SET IOT ;PRINT MSG & WAIT FOR PROPER SELECTION JMP DSCMAG ;TRY AGAIN TAPNRD: ;TAPE NOT READY OR NO WRITE RING CLR -(SP) MOV (PC)+,-(SP) .BYTE 101,1 ;A101: TAPE NOT READY IOT BMI TAPE40 ;YES CMP ERFLAG,#8. ;HAVE WE EXHAUSTED RE-TRIES? 02-07-73 BEQ TAPER2 ;YES 02-07-73 BIT #3,R1 ;WAS ATTEMPT TO READ OR WRITE? 02-07-73 BEQ TAPER2 ;HARD ERROR IF NEITHER 02-07-73 INC ERFLAG ;KEEP TRACK OF NUMBER OF RE-TRIES 02-07-73 MOV R1,-(SP) ;SAVE CURRENT STATE OF THINGS MOVB #17,DISPLAY ;INDICATE A DISC READ MOV #5,-(SP) JSR PC,DISCGO ;READ NEXT 16-K WORDS FROM DISC MOVB #100,DISPLAY ;INDICATE TAPE WRITE MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #2,-(SP) ;WRITE COMMAND JSR PC,TAPEGO ;GO WRITE THE 8 RECORDS BIT #40,SWIMAG ;WRITE CHECK SELECTED? BEQ DSCM30 ;NO MOV #200,DISPLAY ;INDICATE TAPE BAC.oQ,XZ02468,& x7x7E e,LjwHWtEw5,rDF5  r,@dEt j 7 jf, @X D5 H,> *, ,  e 7 w]%,0  bd~×bw` 7 ;PRINT MSG & WAIT FOR OPERATOR TO READY UNIT JMP TAPE10 ;BACK & CHECK AGAIN DSCINT: INC DINTFG ;SHOW INT CAME IN RTI TAPINT: INC TINTFG ;SHOW TAPE INT CAME IN RTI .END DSCMAG 02-07-73 MOV R2,-(SP) 02-07-73 MOV DISPLAY,-(SP) ; 02-07-73 MOV #200,DISPLAY ;SHOW BACKSPACE 02-07-73 MOV #1,R2 02-07-73 MOV #200,-(SP) ;SET TO BACKSPACE ONE RECORD 02-07-73 JSR PC,TAPE02 ;USE TAPE ROUTINE: DON'T CLEAR "ERFLAG" 02-07-73 K-SPACE MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV #300,DISPLAY ;INDICATE READ FOR WRITE-CHECK MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST WROTE MOVB #377,DISPLAY ;INDICATE DISC WRITE-CHECK MOV #7,-(SP) JSR PC,DISCGO ;WRITE CHECK THE DISC DSCM30: ADD #400,R4 ;BUMP TH,V ?վ f`_d5,|ߋb5bߋc7e~, x   v,5LU@7 8Ì, 8 b  b5gb,5 x-5 f,: w>,`bBE xT,x ww| `  :~ p xx   d  Z TDe H B < 6  , D "C  ~x   ?a}tv~~h SUB #10000,TAPADR ;BRING ADDRESS BACK TO PROPER VALUE 02-07-73 MOV (SP)+,DISPLAY 02-07-73 MOV (SP)+,R2 ;RESTORE 02-07-73 MOV (SP)+,R1 02-07-73 JMP TAPE10 ;GO TRY AGAIN 02-07-73 TAPER2: 02-07-73 MOV @#E DAR MEMORY INC DSCBLK ;BUMP BLOCK COUNT BR DSCM20 ;BACK FOR MORE .PAGE TAPEGO: ;THIS IS THE MAG TAPE "GO" ROUTINE CLR ERFLAG ;RESET RE-TRY COUNTER 02-07-73 TAPE02: ;ENTER HERE FOR BACK-UP ON RE-TRY 02-07-73 MOV 2(SP),R1 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE MOV R1,TMPW01 ;SAVE IT FOR CHECK BELOW \.H~.,EL$A!bҬp~Xo(:P٪pe4K#@$2  1  3 ~0 '@fDe"@  H P  @`$    eee J- )  e ~Hd%   ee 2 ((TST,R0 FEB26FST HALT FEB26FST BR TAPE40 FEB26FST DSCERR: ; A DISC ERROR HAS BEEN DETECTED TST @#SWR ;ERROR IGNORE ON? BPL .+4 ;NO: CONTINUE RTS PC ;YES: NOTHING ELSE TO DO BUT RETURN MOV R2,R0 ;DISC STATUS BIS TAPCMD,R1 ;INSERT THE UNIT # AND INTERRUPT BITS MOV #BFSTRT,TAPADR ;INIT LOCAL MEMORY OF TAPE CMA TAPE10: CLR @#TST ;RESET STATUS 02-07-73 MOV TAPCMD,@#TCD ;SELECT THE UNIT 02-07-73 MOV #4000,R3 SOB R3,. ;LOOP TO ALLOW LOGIC TO SETTLE MOVB @#TST,R3 ;GET LOWER STATUS BYTE BMI TAPE14 ;READY TAPE12: JMP TAPNRD e   (ӪX&E4* &~C Ӟx ..J0 p xx   d  Z TD ~8e H B < 6  , D "C     ?alnT~ FEB26FST HALT FEB26FST RTS PC FEB26FST LIGHTS: MOVB DSCBLK,DISPLAY+1 MOV DISPLAY,@#SWR ;(SWR IS SIGN-EXTENDED ON BYTE MOVES) RTS PC .PAGE DONE: ;;ALL DONE: EXIT WITH TAPE JUST PAST THE FILE MARK MOV #-1,R0 ;DISPLAY GOOD STOP FEB26FST HALT ;NOT READY TAPE14: ASR R3 ;CHECK FILE PROTECT BIT BCS TAPE12 ;NO WRITE RING TAPE20: CLR TINTFG MOV #9.,-(SP) SUB R2,(SP) BICB #77,DISPLAY BISB (SP)+,DISPLAY ;SET UP WITH NEW RECORD # JSR PC,LIGHTS ;UPDATE DISPLAY MOV TAPADR,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV R1,@#TCD ;PERFORM COMMAND BIT #10,SWIM .TITLE DCTST3 DDC DISC TEST #3: WRITE/READ DATA CHECK ; DDC DATA TEST #3 ; CHECKS FOR READ ERRORS ACROSS ENTIRE DISC, AFTER A WRITE ; TO ONE TRACK. ; ZERO ENTIRE DISC ; WRITE SELECTED PATTERN TO ALL SECTORS IN A TRACK, ONE ; SECTOR AT A TIME. ; READ ENTIRE DISC, UNDER CMA/INH, 16 TRACKS AT A TIME. ; STOP IF ANY STATUS ERROR REPORTED. ; IF CONSOLE SWITCH 15 IS SET, STOP FOLLOWING READ AFTER FINAL ; TRACK WRITE. ELSE, CO~(~ ~~ FEB26FST BR .-2 FEB26FST SELERR: ;CONSOLE SWITCH SELECT ERROR MOV #177400,R0 FEB26FST HALT FEB26FST JMP DSCMAG ;TRY AGAIN TAPNRD: ;TAPE NOT READY MOV #377,R0 FEB26FST AG ;IS TAPE INT ENB? BNE TAPE50 ;YES TSTB @#TST BMI .-4 ;FIRST WAIT 'TILL READY GOES FALSE BIT #200,@#TST ;THEN WAIT 'TILL IT GOES TRUE AGAIN 02-07-73 BEQ .-6 02-07-73 TAPE30: TSTB @#TST+1 ;ANY ERRORS? BNE TAPERR ;STATUS ERROR BYTE NOT ZERO TAPE40: ADD #10000,TAPADR ;BUMP LOCAL CMA MEMORY FOR NEXT TIME SONTINUE INDEFINITELY. R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 $SWR=177570 $DCS = 165300 $WC = 165302 $CMA = 165304 $DAR = 165306 $DER = 165310 ; DDC DISC PARAMETERS: ; SECTORS 100000 (32 768) ; TRACKS 1000 (512) ; WORDS/SECTOR 100 (64) ; SECTORS/TRACK: 100 (64) ; WORDS/TRACK: 10000 ~~*~~p HALT FEB26FST JMP TAPE10 ;BACK & CHECK AGAIN DSCINT: INC DINTFG ;SHOW INT CAME IN RTI TAPINT: INC TINTFG ;SHOW TAPE INT CAME IN RTI .END DSCMAG B R2,TAPE10 ;LOOP FOR SPECIFIE+ COUNT RTS PC ;ALL DONE TAPE50: WAIT TST TINTFG ;DID INT COME YET? BEQ TAPE50 BR TAPE30 .PAGE DISCGO: ;MAKE THE DISC GO JSR PC,LIGHTS ;UPDATE DISPLAY MOV #-40000,@2(R5) ;WC FOR 16K WORDS MOV #BFSTRT,@4(R5) ;CMA MOV R4,R3 ;CURRENT DAR DSWICH: BR .+2 ;SHUNT SWITCH AROUND RF-11 (4096) .PAGE .ASECT .=20000 .ENABLE AMA ;DO ABSOLUTE ADDRESSING START: RESET MOV #START,SP MOV #1,$SWR CLR SECTOR MOV #32.,R4 ;32 LOOPS OF CLEAR A: MOV #400,$DER ;CMA INH CLR $WC ;16 TRACKS (200000 WORDS) (1024 SECTORS) MOV #ZERO,$CMA MOV SECTOR,$DAR MOV #3,$DCS ;WRITE ZEROES 9~~`H~~P LOGIC BR DISC10 CLR R2 ;RF-11 LOGIC: READY FOR EXTENSION BITS ASHC #6,R2 ;SHIFT THE SECTOR ADDRESS TO WORD ADDR MOV R2,@10(R5) ;LOAD UP THE TRACK EXTENSION BITS DISC10: MOV R3,@6(R5) ;DAR (EITHER SECTOR OR WORD ADDRESS) MOV 2(SP),R3 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE BIT #20,SWIMAG ;IS DISC INT ENB SELECTED? BEQ DISC22 ;N TSTB $DCS BPL .-4 TST $DCS BPL .+4 HALT ;STATUS ERROR ADD #2000,SECTOR SOB R4,A .PAGE START1: ; RESTART POINT; NO ZEROING CLR TSTSEC MOV #1000,R5 ; LOOP FOR EACH TRACK B: MOV #100,R0 ; INIT FOR NEW TRACK B1: MOV TSTSEC,$SWR ; NEXT SECTOR: UPDATE DISPLAY MOV #-64.,$WC ; DO ONE SECTOR AT A TIME W~~@f~~0&z(  s.  x    .& ߋ e  .L @ x  .r ߋ  ~   .   ߋ( e   xO BIS #100,R3 DISC22: CLR DINTFG MOV R3,@0(R5) ;COMMAND! ASLB R3 ;CHECK INT ENB BMI DISC40 ;ENABLED: WAIT FOR INT TSTB @0(R5) ;WAIT HERE FOR READY BPL .-4 DISC30: ;HERE WHEN READY GOES TRUE OR INT COMES IN TST @0(R5) ;ERROR? BMI DSCERR ;YES RTS PC ;EVERYTING'S OK DISC40: WAIT ;WAIT MOV #400,$DER ;CMA INH MOV #ONES,$CMA MOV TSTSEC,$DAR MOV #3,$DCS ;WRITE ONE SECTOR TSTB $DCS BPL .-4 TST $DCS BPL .+4 HALT ;STATUS ERROR INC TSTSEC ; READY FOR NEXT SECTOR SOB R0,B1 ; LOOP UNTIL TRACK IS DONE .PAGE ; NOW DO READ OF ENTIRE DISC, AND STOP ON ANY ERROR. CLR SECTOR u~~ ~ 0 z,  x    #,& ߋ e  ,L @ x  ,r ߋ  ~   ,   ߋ& e   x FOR INTERRUPT TST DINTFG ;WAS IT THE DISC INT? BEQ DISC40 ;NO BR DISC30 .PAGE TAPERR: ;A TAPE ERROR HAS BEEN DETECTED MOV @#TST,R0 ;TAPE STATUS BPL TAPER1 ;WAS NOT A FILE MARK 02-07-73 CLR @#TST ;RESET IN CASE O.K. BIT #^B0110011100000000,R0 ;ANY ERRORS OTHER THAN F/M? 02-07-73 BNE TAPER1 ;SOMETHING E MOV #32.,R4 ; 32 LOOPS OF READ C: MOV SECTOR,$DAR CLR $WC ;16 TRACKS AT A CRACK D: MOV #400,$DER ;CMA INH MOV #ZERO,$CMA MOV #5,$DCS ; READ TSTB $DCS BPL .-4 MOV $DCS,R1 BPL E ;NO ERROR HALT ; DISC ERROR BR .-2 E: ADD #2000,SECTOR SOB R4,C ;CONTINUE UNTIL EN~~~t q>@q)eJ x   N Ê <%!o~x ,c ѐjˋÜ`E &  P   cLS PUNCHED: ^ 12 11 ^ 0 9 8 ^ 1,2,3,4,5,6,OR 7 .IFNDF ONLY29 ; COMPRESSED FIELDATA ; ASCII PRINTED CARD CODE PUNCH ; CODE CHARACTER (OCTAL) CODE .BYTE 240 ; SPACE 0 BLANK .BYTE 261 ; 1 1 1 .BYTE 262 ; 2 2 2 .BYTE 063 ; 3 3 3 .BYTE 264 ; 4 4 4 .BYTE 065 ; 5 LSE IS THERE BIT #24,TMPW01 ;WAS IT A FILE-MARK REQUEST? BNE TAPE40 ;WE WERE EXPECTING A F/M INDICATION TAPER1: TST @#SWR ;ERR IGNORE BIT ON? BMI TAPE40 ;YES CMP ERFLAG,#8. ;HAVE WE EXHAUSTED RE-TRIES? 02-07-73 BEQ TAPER2 ;YES 02-07-73 BIT #3,R1 ;WAS ATTEMPT TO READ OR WRITE? 02-07-73 BEQ TAPER2 ;HTIRE DISC IS READ DEC R5 BNE B ; BACK FOR NEXT TRACK TST $SWR ; CONTINUE? BPL START1 ; YES HALT BR .-2 TSTSEC: 0 SECTOR: 0 ZERO: 0 ONES: -1 FLAG: 0 ; M W K 22-MAY-74 .END START wZ ɋr߷ p 5 5 .BYTE 066 ; 6 6 6 .BYTE 267 ; 7 7 7 .BYTE 270 ; 8 10 8 .BYTE 240 ; EMPTY 11 8-1 .BYTE 246 ; & 12 8-2 .BYTE 275 ; = 13 8-3 .BYTE 047 ; ' 14 8-4 .BYTE 072 ; : 15 8-5 .BYTE 276 ; > 16 8-6 .BYTE 300 ; @ 17 8-7 ARD ERROR IF NEITHER 02-07-73 INC ERFLAG ;KEEP TRACK OF NUMBER OF RE-TRIES 02-07-73 MOV R1,-(SP) ;SAVE CURRENT STATE OF THINGS 02-07-73 MOV R2,-(SP) 02-07-73 MOV DISPLAY,-(SP) ; 02-07-73 MOV #200,DISPLAY ;SHOW BACKSPACE 02-07-73 MOV #1,R2 FREE UP R0 BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5 ;INIT FOR DDC DISC SWAB R0 ;WHICH DISC? BEQ DSCM10 ;DDC ADD #16,R5 ;BUMP TABLE POINTER INCB DSWICH ;OPEN SHUNT AROUND RF-11 DAR LOGIC CMPB R0,#177 ;IS RF-11 SELECTED, OR DID HE BLOW IT? BEQ DSCM10 JMP SELERR ;SELECT ERROR DSCM10: SWAB R0 ;BAC ;WC 64  167542   TST = 167542 ;STATUS 65  167544   TCD = 167544 ;COMMAND 66  167546   TMA = 167546 ;CMA 67  000104   TIV=104 68  020000   BFSTRT = 20000 ;START OF 16-K WORD BUFFER 69 70 71 000000    DSCTAB: ;TABLE OF DISC REGISTER ADDRESSES 72 73     ; FOR THE DDC DISCS: 74 000000 165300    165300 ;DCS 75 000002 165302    165302 .BYTE 071 ; 9 20 9 .BYTE 060 ; 0 40 0 .BYTE 257 ; / 41 0-1 .BYTE 123 ; S 42 0-2 .BYTE 324 ; T 43 0-3 .BYTE 125 ; U 44 0-4 .BYTE 126 ; V 45 0-5 .BYTE 327 ; W 46 0-6 .BYTE 330 ; X 47 0-7 .BYTE 131 ; Y 50 0-8 .BYTE 240 ; EMPTY 02-07-73 MOV #200,-(SP) ;SET TO BACKSPACE ONE RECORD 02-07-73 JSR PC,TAPE02 ;USE TAPE ROUTINE: DON'T CLEAR "ERFLAG" 02-07-73 SUB #10000,TAPADR ;BRING ADDRESS BACK TO PROPER VALUE 02-07-73 MOV (SP)+,DISPLAY 02-07-73 MOV (SP)+,R2 ;RESTORE 02-07-73 MOV (SP)+,R1 K TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAPE UNIT SELECT & INT ENABLE MOV R1,TAPCMD ;SAVE IT BIT #1000,R1 ;WAS INT ENABLED? BEQ DSCM12 ;NO MOV #TAPINT,@#TIV ;SET UP TAPE I.V. MOV #5*40,@#TIV+2 DSCM12: BIT #20,R0 ;IS DISC INT ENABLED? BEQ DSCM14 ;NO MOV #DSCINT,@12(R5) ;SET UP DISC I.V. MOV ;WC 76 000004 165304    165304 ;CMA 77 000006 165306    165306 ;DAR 78 000010 165310    165310 ;DAE 79 000012 000130    130 ;I.V. 80 000014 000132    132 81 82     ; FOR THE RF-11 DISC: 83 000016 177460    177460 ;DCS 84 000020 177462    177462 51 0-8-1 .BYTE 137 ; _ 52 0-8-2 .BYTE 254 ; , 53 0-8-3 .BYTE 050 ; ( 54 0-8-4 .BYTE 245 ; % 55 0-8-5 .BYTE 134 ; \ 56 0-8-6 .BYTE 042 ; " 57 0-8-7 .BYTE 132 ; Z 60 0-9 .BYTE 055 ; - 100 11 .BYTE 312 ; J 02-07-73 JMP TAPE10 ;GO TRY AGAIN 02-07-73 TAPER2: 02-07-73 MOV @#TST,R0 FEB26FST HALT FEB26FST BR TAPE40 FEB26FST DSCERR: ; ADISC ERROR OR [NED] HAS OCCURRED MOV @0(R5),R2 #6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAPE MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM18 ;NONE 02-07-73 DSCM16: MOV #20,-(SP) MOV #-1,DSCBLK ;SHOW THAT SKIP FILE IS IN PROGRESS JSR PC,TAPEGO ;SPACE PAST [N=(R2)] FILE MARKS .PAGE ;THE MAG TAPE IS NOW POSITIONED IN THE GAP PRECEDING THE FIR ;WC 85 000022 177464    177464 ;CMA 86 000024 177466    177466 ;DAR 87 000026 177470    177470 ;DAE 88 000030 000204    204 ;I.V. 89 000032 000206    206 90 91 000034 000000   DINTFG: .WORD 0 92 000036 000000   TINTFG: .WORD 0 93 000040 000000   TAPCMD: .WORD 0 94 000042 000000   DS 101 11-1 .BYTE 113 ; K 102 11-2 .BYTE 314 ; L 103 11-3 .BYTE 115 ; M 104 11-4 .BYTE 116 ; N 105 11-5 .BYTE 317 ; O 106 11-6 .BYTE 120 ; P 107 11-7 .BYTE 321 ; Q 110 11-8 .BYTE 240 ; EMPTY 111 11-8-1 .BYTE 240 ; EMPTY 112 11-8-2 .BYTE 044 ; $ 113 MOV R2,R3 BIC #104377,R3 ;CLEAR ERR AND NED BITS (ALSO LOWER BYTE BEQ DONE ;[NED] HAS GONE TRUE WITH NO OTHER ERRORS TST @#SWR ;ERROR IGNORE ON? BPL .+4 ;NO: CONTINUE RTS PC ;YES: NOTHING ELSE TO DO BUT RETURN MOV R2,R0 ;DISC STATUS FEB26FST HALT FEB26FST RTS PCST RECORD. ;FIRST READ 16K-WORDS OFF DISC. ;THEN WRITE 8 RECORDS OF 2K-WORDS EACH TO TAPE. ;IF WRITE CHECK SELECTED, BACK UP TAPE, RE-READ THE 8 RECORDS, ;AND WRITE-CHECK TO THE DISC. THEN ADVANCE TO NEXT DISC BLOCK. ;CONTINUE UNTIL A DISC READ REQUEST RESULTS IN A [NED]. DSCM18: 02-07-73 CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS READ DSCM20: CBLK: .WORD 0 95 000044 000000   DISPLAY:.WORD 0 96 000046 000000   SWIMAG: .WORD 0 97 000050 000000   TMPW01: .WORD 0 98 000052 000000   TAPADR: .WORD 0 99 000054 000000   ERFLAG: .WORD 0 02-07-73 100 101      .PAGE DSCMAG RMACRO V005B PAGE 3    PRIVATE DATA GULF ENERGY & ENVIRONMENTAL SYSTEMS FOR INTERNAL USE ONLY 1 11-8-3 .BYTE 252 ; * 114 11-8-4 .BYTE 335 ; ] 115 11-8-5 .BYTE 273 ; ; 116 11-8-6 .BYTE 336 ; ^ 117 11-8-7 .BYTE 322 ; R 120 11-9 ; NOTE: SINCE THE [11-0] SERIES IS OMITTED, THE DRIVER STRIPS ; AN OCTAL 40 FROM THE FOLLOWING COMPRESSED CODES BEFORE INDEXING. ; THUS, THE LETTER 'C' IS INTERPRETED AS OCTAL 143, EVEN THOUGH ; THE CARD READER COMPR FEB26FST LIGHTS: MOVB DSCBLK,DISPLAY+1 MOV DISPLAY,@#SWR ;(SWR IS SIGN-EXTENDED ON BYTE MOVES) RTS PC .PAGE DONE: ;ALL DONE: WRITE A FILE MARK AND EXIT MOV #1,R2 MOV #4,-(SP) JSR PC,TAPEGO ;WRITE ONE FILE MARK MOV #-1,R0 ;DISPLAY GOOD STOP FEB26FST HALT MOVB #17,DISPLAY ;INDICATE A DISC READ MOV #5,-(SP) JSR PC,DISCGO ;READ NEXT 16-K WORDS FROM DISC MOVB #100,DISPLAY ;INDICATE TAPE WRITE MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #2,-(SP) ;WRITE COMMAND JSR PC,TAPEGO ;GO WRITE THE 8 RECORDS BIT #40,SWIMAG ;WRITE CHECK SELECTED? BEQ DSCM30 ;NO MOV #200,DISPLAY ;INDICATE TAPE BAC02 000056    DSCMAG: ;ENTRY AND RE-ENTRY POINT 103 000056 005037 177570   CLR @#SWR ;CLEAR DISPLAY LIGHTS 104 000062 105067 000606   CLRB DSWICH ;RESET RF-11 LOGIC SHUNT 105 000066 013700 177570   MOV @#SWR,R0 ;OPTION SELECT PATTERN 106 000072 010067 177750   MOV R0,SWIMAG ;SAVE SELECT IMAGE TO FREE UP R0 107 000076 042700 100000   BIC #100000,R0 ;IGNOREESSED CODE IS OCTAL 203. .BYTE 053 ; + 200 12 .BYTE 101 ; A 201 12-1 .BYTE 102 ; B 202 12-2 .BYTE 303 ; C 203 12-3 .BYTE 104 ; D 204 12-4 .BYTE 305 ; E 205 12-5 .BYTE 306 ; F 206 12-6 .BYTE 107 ; G 207 12-7 .BYTE 110 ; H 210 12-8 .BYTE 240 ; EMPTY FEB26FST BR .-2 FEB26FST SELERR: ;CONSOLE SWITCH SELECT ERROR MOV #177400,R0 FEB26FST HALT FEB26FST JMP DSCMAG ;TRY AGAIN TAPNRD: ;TAPE NOT READY OR NO WRITE RING MOV #377,R0 FEB26FST HALT K-SPACE MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV #300,DISPLAY ;INDICATE READ FOR WRITE-CHECK MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST WROTE MOVB #377,DISPLAY ;INDICATE DISC WRITE-CHECK MOV #7,-(SP) JSR PC,DISCGO ;WRITE CHECK THE DISC DSCM30: ADD #400,R4 ;BUMP TH ERROR SUPPRESS BIT 108 000102 012705 000000'   MOV #DSCTAB,R5 ;INIT FOR DDC DISC 109 000106 000300    SWAB R0 ;WHICH DISC? 110 000110 001411    BEQ DSCM10 ;DDC 111 000112 062705 000016   ADD #16,R5 ;BUMP TABLE POINTER 112 000116 105267 000552   INCB DSWICH ;OPEN SHUNT AROUND RF-11 DAR LOGIC 113 000122 120027 000177   CMPB R0,#177 ; 211 12-8-1 .BYTE 240 ; EMPTY 212 12-8-2 .BYTE 056 ; . 213 12-8-3 .BYTE 251 ; ) 214 12-8-4 .BYTE 333 ; [ 215 12-8-5 .BYTE 074 ; < 216 12-8-6 .BYTE 243 ; # 217 12-8-7 .BYTE 311 ; I 220 12-9 ; ALSO NOTE: THE CHARACTERS [?] AND [!] HAVE COMPRESSED CODES OF ; OCTAL [240] AND [140], RESPECTIVELY, MAKING THEM U FEB26FST JMP TAPE10 ;BACK & CHECK AGAIN DSCINT: INC DINTFG ;SHOW INT CAME IN RTI TAPINT: INC TINTFG ;SHOW TAPE INT CAME IN RTI .END DSCMAG E DAR MEMORY INC DSCBLK ;BUMP BLOCK COUNT BR DSCM20 ;BACK FOR MORE .PAGE TAPEGO: ;THIS IS THE MAG TAPE "GO" ROUTINE CLR ERFLAG ;RESET RE-TRY COUNTER 02-07-73 TAPE02: ;ENTER HERE FOR BACK-UP ON RE-TRY 02-07-73 MOV 2(SP),R1 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE MOV R1,TMPW01 ;SAVE IT FOR CHECK BELOW IS RF-11 SELECTED, OR DID HE BLOW IT? 114 000126 001402    BEQ DSCM10 115 000130 000167 001110   JMP SELERR ;SELECT ERROR 116 000134 000300   DSCM10: SWAB R0 ;BACK TO ORIG 117 000136 010001    MOV R0,R1 118 000140 072127 000006   ASH #6,R1 119 000144 042701 146777   BIC #-031000-1,R1 ;ISOLATE TAPE UNIT SELECT & INT ENABLE 120 000150 010167 177664   NIQUE ; CHARACTERS OUTSIDE THE EVALUATION RANGE OF THE DRIVER. THUS ; SPECIAL CODE HAS BEEN INSERTED IN THE DRIVER TO DETECT THESE ; TWO CHARACTERS. .ENDC ;INTERNAL BUFFER FOR BINARY STORAGE: .IFDF BINARY CR.BUF: .IFNDF MARKS CR.BSZ=120. .ENDC .IFDF MARKS CR.BSZ=60. .ENDC .=.+CR.BSZ .ENDC .END BIS TAPCMD,R1 ;INSERT THE UNIT # AND INTERRUPT BITS MOV #BFSTRT,TAPADR ;INIT LOCAL MEMORY OF TAPE CMA TAPE10: CLR @#TST ;RESET STATUS 02-07-73 MOV TAPCMD,@#TCD ;SELECT THE UNIT 02-07-73 MOV #4000,R3 SOB R3,. ;LOOP TO ALLOW LOGIC TO SETTLE MOVB @#TST,R3 ;GET LOWER STATUS BYTE BMI TAPE14 ;READY TAPE12: JMP TAPNRD MOV R1,TAPCMD ;SAVE IT 121 000154 032701 001000   BIT #1000,R1 ;WAS INT ENABLED? 122 000160 001406    BEQ DSCM12 ;NO 123 000162 012737 001276' 000104  MOV #TAPINT,@#TIV ;SET UP TAPE I.V. 124 000170 012737 000240 000106  MOV #5*40,@#TIV+2 125 000176 032700 000020  DSCM12: BIT #20,R0 ;IS DISC INT ENABLED? 126 000202 001406    BEQ DSCM14 ;NO AwQQQPQ,UQw07 :.P""PQ&*@UQDEM5152556061CL{w @ w x7w Nc\`{cw 7w lc&p{ccw .D`cf&c*{D-   -,   - t,0 zn0 ֵ 285 001132 012601    MOV (SP)+,R1 02-07-73 286 001134 000167 177322   JMP TAPE10 ;GO TRY AGAIN 02-07-73 287 288 001140    TAPER2: 02-07-73 289 001140 013700 167542   MOV @#TST,R0 FEB26FST 290 001144 000000    HALT ;NOT READY TAPE14: ASR R3 ;CHECK FILE PROTECT BIT BCS TAPE12 ;NO WRITE RING TAPE20: CLR TINTFG MOV #9.,-(SP) SUB R2,(SP) BICB #77,DISPLAY BISB (SP)+,DISPLAY ;SET UP WITH NEW RECORD # JSR PC,LIGHTS ;UPDATE DISPLAY MOV TAPADR,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV R1,@#TCD ;PERFORM COMMAND BIT #10,SWIM 127 000204 012775 001270' 000012  MOV #DSCINT,@12(R5) ;SET UP DISC I.V. 128 000212 012775 000300 000014  MOV #6*40,@14(R5) 129 000220 012775 000400 000000 DSCM14: MOV #400,@(R5) ;RESET DISC 130 000226 012737 040000 167544  MOV #40000,@#TCD ;RESET TAPE 131 000234 010002    MOV R0,R2 132 000236 042702 177770   BIC #-7-1,R2 ;GET # FILES TO SKIP 133 000242 001407    Q  U~p Հ   5U@  LU     R7{ *8~ fc ,5&55@<4*\~- (< elS0,d \wR&&& ,v 00w$00Te@ F   ( RRR J& &~ F e5``&7v& "( FEB26FST 291 001146 000624    BR TAPE40 FEB26FST 292 293 294 001150    DSCERR: ; A DISC ERROR HAS BEEN DETECTED 295 001150 005737 177570   TST @#SWR ;ERROR IGNORE ON? 296 001154 100001    BPL .+4 ;NO: CONTINUE 297 001156 000207    RTS PC ;YES: NOTHING ELSE TO DO AG ;IS TAPE INT ENB? BNE TAPE50 ;YES TSTB @#TST BMI .-4 ;FIRST WAIT 'TILL READY GOES FALSE BIT #200,@#TST ;THEN WAIT 'TILL IT GOES TRUE AGAIN 02-07-73 BEQ .-6 02-07-73 TAPE30: TSTB @#TST+1 ;ANY ERRORS? BNE TAPERR ;STATUS ERROR BYTE NOT ZERO TAPE40: ADD #10000,TAPADR ;BUMP LOCAL CMA MEMORY FOR NEXT TIME SO BEQ DSCM18 ;NONE 02-07-73 134 135 000244 012746 000020  DSCM16: MOV #20,-(SP) 136 000250 012767 177777 177564  MOV #-1,DSCBLK ;SHOW THAT SKIP FILE IS IN PROGRESS 137 000256 004767 000152   JSR PC,TAPEGO ;SPACE PAST [N=(R2)] FILE MARKS 138 139      .PAGE DSCMAG RMACRO V005B PAGE 4    PRIVATE DATA GULF ENERGY & ENVIRONMENTAL Saw `wec v %-%v% w * 'Ԫ''7 '' )(! ! f {~7B% dj l d?ɥa &ҕ 6ڇ 27 B (  ҕ @ ҕ =   ~(ԇBUT RETURN 298 001160 010200    MOV R2,R0 ;DISC STATUS FEB26FST 299 001162 000000    HALT FEB26FST 300 001164 000207    RTS PC FEB26FST 301 302 001166 116767 176650 176651 LIGHTS: MOVB DSCBLK,DISPLAY+1 303 001174 016737 176644 177570  MOV DISPLAY,@#SWR ;(SWR ISB R2,TAPE10 ;LOOP FOR SPECIFIE+ COUNT RTS PC ;ALL DONE TAPE50: WAIT TST TINTFG ;DID INT COME YET? BEQ TAPE50 BR TAPE30 .PAGE DISCGO: ;MAKE THE DISC GO JSR PC,LIGHTS ;UPDATE DISPLAY MOV #-40000,@2(R5) ;WC FOR 16K WORDS MOV #BFSTRT,@4(R5) ;CMA MOV R4,R3 ;CURRENT DAR DSWICH: BR .+2 ;SHUNT SWITCH AROUND RF-11YSTEMS FOR INTERNAL USE ONLY 140     ;THE MAG TAPE IS NOW POSITIONED IN THE GAP PRECEDING THE FIRST RECORD. 141     ;FIRST READ 16K-WORDS OFF DISC. 142     ;THEN WRITE 8 RECORDS OF 2K-WORDS EACH TO TAPE. 143     ;IF WRITE CHECK SELECTED, BACK UP TAPE, RE-READ THE 8 RECORDS, 144     ;AND WRITE-CHECK TO THE DISC. THEN ADVANCE TO NEXT DISC BLOCK. 145     ;CONTINUE UNTIL A DISC READ REQUEST RESULTS IN A [NED]. 146 147 148 000262 qB w R~    u5؇7x  <fl ABC: f&r~J((  (( ! ! fXX'(Q$  D +ff(  -V(V( s~ ѝ ѝ w~ wa l dJ- w t , BGW!<! |@@B!   f6E 0 Dr~ ( ) & $   SIGN-EXTENDED ON BYTE MOVES) 304 001202 000207    RTS PC 305      .PAGE MAGDSC RMACRO V005B PAGE 8    PRIVATE DATA GULF ENERGY & ENVIRONMENTAL SYSTEMS FOR INTERNAL USE ONLY 306 001204    DONE: ;;ALL DONE: EXIT WITH TAPE JUST PAST THE FILE MARK 307 001204 012700 177777   MOV #-1,R0 ;DISPLAY GOOD STOP FEB26FST 308 001210 000000    HALT LOGIC BR DISC10 CLR R2 ;RF-11 LOGIC: READY FOR EXTENSION BITS ASHC #6,R2 ;SHIFT THE SECTOR ADDRESS TO WORD ADDR MOV R2,@10(R5) ;LOAD UP THE TRACK EXTENSION BITS DISC10: MOV R3,@6(R5) ;DAR (EITHER SECTOR OR WORD ADDRESS) MOV 2(SP),R3 ;GET COMMAND MOV (SP)+,(SP) ;POP RTN ADDR UP ONE BIT #20,SWIMAG ;IS DISC INT ENB SELECTED? BEQ DISC22 ;N   DSCM18: 02-07-73 149 000262 005004    CLR R4 ;INIT LOCAL MEMORY OF DAR 150 000264 005067 177552   CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS READ 151 152 000270    DSCM20: 153 000270 112767 000017 177546  MOVB #17,DISPLAY ;INDICATE A DISC READ 154 000276 012746 000005   MOV #5,-(SP) 155 000302 004767 000344 v((Z$$~h  R?' %5#`n  T r  >5`ʕ'5@ʕG1 R~€ŀɕ?ҥ ҕ ҕ # Dw D҄  L w\   ! W xA%+%-n 5 \~  j ~p FEB26FST 309 001212 000776    BR .-2 FEB26FST 310 311 001214    SELERR: ;CONSOLE SWITCH SELECT ERROR 312 001214 012700 177400   MOV #177400,R0 FEB26FST 313 001220 000000    HALT FEB26FST 314 001222 000167 1766O BIS #100,R3 DISC22: CLR DINTFG MOV R3,@0(R5) ;COMMAND! ASLB R3 ;CHECK INT ENB BMI DISC40 ;ENABLED: WAIT FOR INT TSTB @0(R5) ;WAIT HERE FOR READY BPL .-4 DISC30: ;HERE WHEN READY GOES TRUE OR INT COMES IN TST @0(R5) ;ERROR? BMI DSCERR ;YES RTS PC ;EVERYTING'S OK DISC40: WAIT ;WAIT   JSR PC,DISCGO ;READ NEXT 16-K WORDS FROM DISC 156 000306 112767 000100 177530  MOVB #100,DISPLAY ;INDICATE TAPE WRITE 157 000314 012702 000010   MOV #8.,R2 ;INIT TAPE LOOP COUNT 158 000320 012746 000002   MOV #2,-(SP) ;WRITE COMMAND 159 000324 004767 000104   JSR PC,TAPEGO ;GO WRITE THE 8 RECORDS 160 000330 032767 000040 177510  BIT #40,SWIMAG ;WRITE C& 4 .U%BX $ e + -L~b*x/T&X! 7 F b$b((5`5`5@5@2 U~ b(J  5t4  Uбr  U m"7 7 7n " 0 N~ e?f $   f e0w LUm~@ 5  %Z  30   JMP DSCMAG ;TRY AGAIN 315 316 001226    TAPNRD: ;TAPE NOT READY 317 001226 012700 000377   MOV #377,R0 FEB26FST 318 001232 000000    HALT FEB26FST 319 001234 000167 177222   JMP TAPE10 ;BACK & CHECK AGAIN 320 321 001240 005267 176570  DSCINT: INC DINTFG ;SHFOR INTERRUPT TST DINTFG ;WAS IT THE DISC INT? BEQ DISC40 ;NO BR DISC30 .PAGE TAPERR: ;A TAPE ERROR HAS BEEN DETECTED MOV @#TST,R0 ;TAPE STATUS BPL TAPER1 ;WAS NOT A FILE MARK 02-07-73 CLR @#TST ;RESET IN CASE O.K. BIT #^B0110011100000000,R0 ;ANY ERRORS OTHER THAN F/M? 02-07-73 BNE TAPER1 ;SOMETHING EHECK SELECTED? 161 000336 001431    BEQ DSCM30 ;NO 162 000340 012767 000200 177476  MOV #200,DISPLAY ;INDICATE TAPE BACK-SPACE 163 000346 012702 000010   MOV #8.,R2 ;RE-INIT LOOP COUNT 164 000352 012746 000200   MOV #200,-(SP) ;BACK SPACE COMMAND 165 000356 004767 000052   JSR PC,TAPEGO 166 000362 012767 000300 177454  MOV #300,DISPLAY ;INDICATE READ FO   ~  ~x r  IU > C 4  ,    p 6 5v@  ~@ L "Uz 6  @B     C w z<  Ԧ<>C!~8W!^>ff Z d >5 $-j% Uff EU  ыww~U@$ 8 > N55OW INT CAME IN 322 001244 000002    RTI 323 324 001246    TAPINT: 325 001246 005267 176564   INC TINTFG ;SHOW TAPE INT CAME IN 326 001252 000002    RTI 327 328  000056'    .END DSCMAG MAGDSC RMACRO V005B PAGE 8+ * * * SYMBOL TABLE * * *    PRIVATE DATA GULF ENERGY & ENVIRONMENTAL SYSTEMS FOR INTERNAL USE ONLY BFSTRT= 020000 DINTFG 000034R DISLSE IS THERE BIT #24,TMPW01 ;WAS IT A FILE-MARK REQUEST? BNE TAPE40 ;WE WERE EXPECTING A F/M INDICATION TAPER1: TST @#SWR ;ERR IGNORE BIT ON? BMI TAPE40 ;YES CMP ERFLAG,#8. ;HAVE WE EXHAUSTED RE-TRIES? 02-07-73 BEQ TAPER2 ;YES 02-07-73 BIT #3,R1 ;WAS ATTEMPT TO READ OR WRITE? 02-07-73 BEQ TAPER2 ;HR WRITE-CHECK 167 000370 012702 000010   MOV #8.,R2 168 000374 012746 000001   MOV #1,-(SP) 169 000400 004767 000030   JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST WROTE 170 000404 112767 000377 177432  MOVB #377,DISPLAY ;INDICATE DISC WRITE-CHECK 171 000412 012746 000007   MOV #7,-(SP) 172 000416 004767 000230   JSR PC,DISCGO ;WRITE CHECK THE DISC 173 174 000~0Ըиw[M y%` QQR RK-[zv@Qd@D:< =% R G @DҴҲ~(Ϟ ԦfR %R xԀ   @  N D >7 Xd׳ 5U#E o{ v  e5Uj#D h \# ׭3 *a~  ` &   P & e @4 $ A @~0   CGO 000644R DISC10 000704R DISC22 000732R DISC30 000754R DISC40 000764R DISPLA 000044R DONE 001204R DSCBLK 000042R DSCERR 001150R DSCINT 001240R DSCMAG 000056R DSCM10 000134R DSCM12 000176R DSCM14 000220R DSCM16 000244R DSCM18 000262R DSCM20 000270R DSCM30 000420R DSCTAB 000000R DSWICH 000666R ERFLAG 000054R LIGHTS 001166R PC =%0000ARD ERROR IF NEITHER 02-07-73 INC ERFLAG ;KEEP TRACK OF NUMBER OF RE-TRIES 02-07-73 MOV R1,-(SP) ;SAVE CURRENT STATE OF THINGS 02-07-73 MOV R2,-(SP) 02-07-73 MOV DISPLAY,-(SP) ; 02-07-73 MOV #200,DISPLAY ;SHOW BACKSPACE 02-07-73 MOV #1,R2 422 062704 000400  DSCM30: ADD #400,R4 ;BUMP THE DAR MEMORY 175 000426 005267 177410   INC DSCBLK ;BUMP BLOCK COUNT 176 000432 000716    BR DSCM20 ;BACK FOR MORE 177 178      .PAGE DSCMAG RMACRO V005B PAGE 5    PRIVATE DATA GULF ENERGY & ENVIRONMENTAL SYSTEMS FOR INTERNAL USE ONLY 179 000434    TAPEGO: ;THIS IS THE MAG TAPE "GO" ROUTINE 180 00p~B~W!(53 5~5@#5hUU7 5U "Effff PU0 & b~ NE@` j ` V 7 : "U  $5  U D Bh6 &  D '>EEUQa7 x: z~n  5@lŭgE^07 R0 =%000000 R1 =%000001 R2 =%000002 R3 =%000003 R4 =%000004 R5 =%000005 SELERR 001214R SP =%000006 SWIMAG 000046R SWR = 177570 TAPADR 000052R TAPCMD 000040R TAPEGO 000432R TAPERR 000776R TAPER1 001034R TAPER2 001140R TAPE02 000436R TAPE10 000462R TAPE20 000514R TAPE30 000612R TAPE40 000620R TAPE50 000632R TAPINT 02-07-73 MOV #200,-(SP) ;SET TO BACKSPACE ONE RECORD 02-07-73 JSR PC,TAPE02 ;USE TAPE ROUTINE: DON'T CLEAR "ERFLAG" 02-07-73 SUB #10000,TAPADR ;BRING ADDRESS BACK TO PROPER VALUE 02-07-73 MOV (SP)+,DISPLAY 02-07-73 MOV (SP)+,R2 ;RESTORE 02-07-73 MOV (SP)+,R1 0434 005067 177414   CLR ERFLAG ;RESET RE-TRY COUNTER 02-07-73 181 000440    TAPE02: ;ENTER HERE FOR BACK-UP ON RE-TRY 02-07-73 182 000440 016601 000002   MOV 2(SP),R1 ;GET COMMAND 183 000444 012616    MOV (SP)+,(SP) ;POP RTN ADDR UP ONE 184 000446 010167 177376   MOV R1,TMPW01 ;SAVE IT FOR CHECK BELOW 185 000452 056701 177362   rěě*@^'  &f"eѕ .d  ѕ ѕ 嬞w*, E} =,e e e2, Ne* U401 ~vLP  w G  >6 7}}B  J Y    .~x v @@ @ @P @ 0 001246R TAPNRD 001226R TCD = 167544 TINTFG 000036R TIV = 000104 TMA = 167546 TMPW01 000050R TST = 167542 TWC = 167540 . ABS. 000000  000 001254  001 ERRORS DETECTED: 0 FREE CORE: 16994. WORDS DK:,DK: 8j vI$  z7 Z  R  ::ߐw  Fw 6 7 "~xn :kn   v *H@pEϷPh7e5e v*l@R‹+7 J:x78705+*@ d  6 J 3   ~R"  P)eD zNRtRR0R0RR  :vѱѱxձ@Q~ձ g<,ȵ)~ q>@q)eJ x   N Ê  P -L ,hD `f  D e$ ,& C  C %-  ʇ - Ň-: L` D!!ߕ DW Lw.rD:eD: EW7 w~.  "5D x75@N*@x7 5@x75@w 1*@ E} FEB26FST JMP TAPE10 ;BACK & CHECK AGAIN DSCINT: INC DINTFG ;SHOW INT CAME IN RTI TAPINT: INC TINTFG ;SHOW TAPE INT CAME IN RTI .END DSCMAG THEN WAIT 'TILL IT GOES TRUE AGAIN 02-07-73 210 000616 001774    BEQ .-6 02-07-73 211 000620 105737 167543  TAPE30: TSTB @#TST+1 ;ANY ERRORS? 212 000624 001067    BNE TAPERR ;STATUS ERROR BYTE NOT ZERO 213 000626 062767 010000 177216 TAPE40: ADD #10000,TAPADR ;BUMP LOCAL CMA MEMORY FOR NEXT TIME 214 000634 077265    SOB R2,TAPE10 ;LOOP ! 7 7d7lvEpjd ^ N@ $"0"& $ҝ.( ~"pU@d TfxN*hA` a b 6<d ,5ߋ*Acb "ڃ7  # 7!#"",eH_~~S j_ 7 `d7Ze 7 X.W$% V && e F,5 &     HN ѕU,D# ѕ@ e7&6wZZT bTvߋtߋtävߋt'>*A 5@b ee*A  -*A L( µ 0 0   C `7µ  ~S0l0vaX Z^ dbd f~~u~~pFOR SPECIFIE+ COUNT 215 000636 000207    RTS PC ;ALL DONE 216 000640 000001   TAPE50: WAIT 217 000642 005767 177170   TST TINTFG ;DID INT COME YET? 218 000646 001774    BEQ TAPE50 219 000650 000763    BR TAPE30 220 221      .PAGE DSCMAG RMACRO V005B PAGE 6    PRIVATE DATA GULF ENERGY & ENVIRONMENTAL SYSTEMS FOR INTERNAL USE ONLY 1J*dB4 N E_8Y*B 620ߋ0$B82M b f Eb&'&b R sb&'b D Db 6 B A w`~T b nb  7 4, p %-@H &6:*.7<7m7 7   &f \,R5%E ~Cw  eBBA  Jb6 w 0 "$@8C02468c@7 $ bn bd b&' e 7 a, Z^  e E ~^U $7 7vLFK 6PoQK. 8LoQK. QP zkQx `=t^^ -~oQ^ oQ^ ~ ~`~؎~P 222 000652    DISCGO: ;MAKE THE DISC GO 223 000652 004767 000324   JSR PC,LIGHTS ;UPDATE DISPLAY 224 000656 012775 140000 000002  MOV #-40000,@2(R5) ;WC FOR 16K WORDS 225 000664 012775 020000 000004  MOV #BFSTRT,@4(R5) ;CMA 226 000672 010403    MOV R4,R3 ;CURRENT DAR 227 000674 000400   DSWICH: BR .+2 ;SHUNT SWITCH AROUND RF-11 LOGIC 228 000676 000Ap &    z VUVVU   ,9@BE ` BEp~NVCB __fp,Le$,r`dߋbb5  f~l~ C,x! ! fx o&<x9]  | \&0DAWJb BO~ Y   ^XwwE e "w@7lB&(~^e, "7lee "p7xwv-F m  ! p ! ||VVzWWWWWWX*XPXWVWWWw P ee L 񆗢4 ~VG,&0&0E&[,0_d  f0ߋbߋ bbH (  A$ # EE(v  ̾ p7,~ȏ*~@~9~0405    BR DISC10 229 000700 005002    CLR R2 ;RF-11 LOGIC: READY FOR EXTENSION BITS 230 000702 073227 000006   ASHC #6,R2 ;SHIFT THE SECTOR ADDRESS TO WORD ADDR 231 000706 010275 000010   MOV R2,@10(R5) ;LOAD UP THE TRACK EXTENSION BITS 232 000712 010375 000006  DISC10: MOV R3,@6(R5) ;DAR (EITHER SECTOR OR WORD ADDRESS) 233 000716 016603 000002   MOV 2(SP),R3 R, f e0R&X|, @ ( @ !\ T,0 e eS "PPP)mȵ  j@pW ɕ~V"e%!T7  **!,w~ƿ B!/ U ~WDQ$ |D  <D dQ$Dd . D JQ$DdD DQ$ +7 7 VoQ,@d  xVtEU|,&E ~ We e x,V N \! ! -- @ ,| ` &   j XG7lW& ^< 72DWe"2 ~Ψ7,WB f  D &  ‹ ~H~ ~ ;GET COMMAND 234 000722 012616    MOV (SP)+,(SP) ;POP RTN ADDR UP ONE 235 000724 032767 000020 177114  BIT #20,SWIMAG ;IS DISC INT ENB SELECTED? 236 000732 001402    BEQ DISC22 ;NO 237 000734 052703 000100   BIS #100,R3 238 000740 005067 177070  DISC22: CLR DINTFG 239 000744 010375 000000   MOV R3,@0(R5) ;COMMAND! 240 000750 106303    ASLBa  &   q,`@   2w A @xu,: 5-  xb-?-   Ν   B~e (-ce U0 HAw7:-w77 e 7 a~. d 15 * 5P~Y BZE# W!W! whŝEW!  e ; PDP-11 DOS SYSTEM MACROS V003A ;COPYRIGHT 1972 DIGITAL EQUIPMENT CORPORATION ; ;  JUNE 1, 1972. f w (,`A  X,  ,g -- ee  E E EvÝ;`Ý1~6`Ý*`%<h" µ 0l0µ 0 0 2 C `t~edE^ \~e?RW~~f~~x R3 ;CHECK INT ENB 241 000752 100407    BMI DISC40 ;ENABLED: WAIT FOR INT 242 000754 105775 000000   TSTB @0(R5) ;WAIT HERE FOR READY 243 000760 100375    BPL .-4 244 245 000762    DISC30: ;HERE WHEN READY GOES TRUE OR INT COMES IN 246 000762 005775 000000   TST @0(R5) ;ERROR? 247 000766 100470    BMI DSCERR ;YES 248 000770qt?p6  2Uw v"U%%(BA  J6 w L* U"(*~&r~ N*7J0L7N6N7mT0L7xX6N7ms((((((((&f&M S~ZmZmd-~vl &d7 TetCK EMT <^O6> .ENDM .MACRO .RLSE .LBLCK .MCALL .AMODE .AMODE .LBLCK EMT <^O7> .ENDM .MACRO .CLu``B  #`B  z,s|  #1-` w, 7s|$s hv(.G&T <-jT7)wZ8~d`-jAwu/f`۔`>@ɥ<>@Bxe #0-&]d7 $#0-|~Z E7ee  !u~~h~ ~X" 000207    RTS PC ;EVERYTING'S OK 249 250 000772 000001   DISC40: WAIT ;WAIT FOR INTERRUPT 251 000774 005767 177034   TST DINTFG ;WAS IT THE DISC INT? 252 001000 001774    BEQ DISC40 ;NO 253 001002 000767    BR DISC30 254 255      .PAGE DSCMAG RMACRO V005B PAGE 7    PRIVATE DATA GULF ENERGYP zzÄö\HP~0bj.@_ @ɥw ,  ( .6 #2-7!Be :&fJe  e $e 0!!!!~[!w n @` 7 B  .AMODE .LBLCK EMT <^O2> .ENDM .MACRO .OPENO .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O2> .OR    a,   R⋇5 RE, e-"w r7v >~ @AFF7 2-,(.)B~T !7J 7֋5ww \  7 77 eV`e Mb-V` X~f\h^ > \fPEN .LBLCK,.FBLCK .ENDM .MACRO .OPENI .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O4> .OPEN .LBLCK,%~Ж~H~*~8& & ENVIRONMENTAL SYSTEMS FOR INTERNAL USE ONLY 256 001004    TAPERR: ;A TAPE ERROR HAS BEEN DETECTED 257 001004 013700 167542   MOV @#TST,R0 ;TAPE STATUS 258 001010 100011    BPL TAPER1 ;WAS NOT A FILE MARK 02-07-73 259 001012 005037 167542   CLR @#TST ;RESET IN CASE O.K. 260 001016 032700 063400   BIT #^B0110011100000000,R0 ;ANY ERRORS OTHER THAN F/M?  < 4 ,ww` b    e FW!da  '~V]`wNDM .MACRO .OPENC .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O13> .OPEN .LBLCK,.FBLCK .ENDM .MV~ee=ee EeE (!~f77  ɵ1^ 0  ^  mlB>d#e#!  E ~]ACRO .OPENE .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O3> .OPEN .LBLCK,.FBLCK .ENDM .MACRO .OPEN )~9~(~H~* 02-07-73 261 001022 001004    BNE TAPER1 ;SOMETHING ELSE IS THERE 262 001024 032767 000024 177016  BIT #24,TMPW01 ;WAS IT A FILE-MARK REQUEST? 263 001032 001275    BNE TAPE40 ;WE WERE EXPECTING A F/M INDICATION 264 001034 005737 177570  TAPER1: TST @#SWR ;ERR IGNORE BIT ON? 265 001040 100672    BMI TAPE40 ;YES 266 001042 026727 177006 000010  CMP ERFLAG .MACRO .WAIT .LBLCK .MCALL .AMODE .AMODE .LBLCK EMT <^O1> .ENDM .4~^fdv&@e 7 j݇!q744&&(ZMODU~LEѕ <ѕ ѕ  ~^MACRO .WAITR .LBLCK,.ADDR .MCALL .AMODE .AMODE .ADDR .AMODE .LBLCK EMT <^O0> .ENDM .MACRO .BLOCK .L&t^(~ (zzl.z  && f&f 1 BP

٦rڦ  R,~67&~&` .AMODE .SARG .AMODE .LBLCK EMT <^O12> .ENDM .MACRO .STAT .LBLCK .MCALL .AMODE .AMODE .LBLCK EMT0 $2(0#.@p D A  &DCc   pw.8w @w e8   Հ E ``e  =^~>= ^=`=bB@%9%/% %+wee nh{_  ~w>~1f~~pu~~`27-73 271 001064 010146    MOV R1,-(SP) ;SAVE CURRENT STATE OF THINGS 02-07-73 272 001066 010246    MOV R2,-(SP) 02-07-73 273 001070 016746 176750   MOV DISPLAY,-(SP) ; 02-07-73 274 001074 012767 000200 176742  MOV #200,DISPLAY ;SHOW BACKSPACE 02-07-73 275 001102 012702 000001    & wŀ5 EMM7 n[M5@ !%~.~&"wF F7٦ ٦*٦w7 7 7 7 77 ROSLOD IIA # ROSLOD PASS #1 END ~a ROSLOD PASS #2 BEGIN  ROSLOD PASS #2 END E.ENDM .MACRO .RENAM .LBLCK,.OFB,.NFB .MCALL .AMODE .AMODE .NFB .AMODE .OFB .AMODE .LBLCK EMT <^O20> =w TD = w Hd - 2.6 w @/ w 8 w 0w 8 7 w .*7 w "7 4e 45 0   5% Z2 lm l m ZR~ɷP& !w`d-6 XNeP M Q$B w .RROR # P **** ROSLOD LOAD MAP **** **** LOAD ELEMENT [LO!~bDTMP] **** / / : C********** E5~؝ ~P~Ȟ~@6 MOV #1,R2 02-07-73 276 001106 012746 000200   MOV #200,-(SP) ;SET TO BACKSPACE ONE RECORD 02-07-73 277 001112 004767 177322   JSR PC,TAPE02 ;USE TAPE ROUTINE: DON'T CLEAR "ERFLAG" 02-07-73 278 001116 162767 010000 176726  SUB #10000,TAPADR ;BRING ADDRESS BACK TO PROPER VALUE 02-07-73 279 001124 012667 176714   MOV (SP)+,DISPLAY 7 ejd~ʎ7 >>@^ dsc>ed:N"********** UNRESOLVED REFERENCES  `~bLCK,.OP .MCALL .AMODE .AMODE .FBLCK .IIF NB,.OP,CLR -(SP) .AMODE .LBLCK EMT <^O14> .ENDM .MACRO .KE E ` 4. t4P 4Iw ,-; 44a.%vLc  ~ B ?HL ڷ>LWf  @ "L    wL. " ~? nڰ&e 0w wvw (~ncEP .LBLCK,.FBLCK .MCALL .AMODE .AMODE .FBLCK .AMODE .LBLCK EMT <^O24> .ENDM .MACRO .EXIT EMT <^O609~*~0~9~ : 02-07-73 280 001130 012602    MOV (SP)+,R2 ;RESTORE 02-07-73 281 001132 012601    MOV (SP)+,R1 02-07-73 282 001134 000167 177324   JMP TAPE10 ;GO TRY AGAIN 02-07-73 283 284 001140    TAPER2: 02-07-73 285 001140 8~^d> .ENDM .MACRO .STFPU .STUS,.ADDR .MCALL .AMODE .AMODE .ADDR .AMODE .STUS MOV #^O3,-(SP) EMT <^O4Ae0w ,w F.|VPTw D- <@7.4: (6 4,*w  F wB@ AD~ \l  1f& f& 8̷ҷN@Fw w w w w   f~nl.w  X?   / T T^`~d1> .ENDM .MACRO .RECRD .LBLCK,.RBLCK .MCALL .AMODE .AMODE .RBLCK .AMODE .LBLCK EMT <^O25> .ENDM i 4.  ?w "7 w 777 .0   w %0 %7E ` =~H~~W~>013700 167542   MOV @#TST,R0 FEB26FST 286 001144 000000    HALT FEB26FST 287 001146 000627    BR TAPE40 FEB26FST 288 289 290 001150    DSCERR: ; ADISC ERROR OR [NED] HAS OCCURRED 291 001150 017502 000000   MOV @0(R5),R2 292 001154 010203     .MACRO .RSTRT .ADDR .MCALL .AMODE .AMODE .ADDR MOV #^O2,-(SP) EMT <^O41> .ENDM .MACRO .CORE MO  (8R4NJ,dl. N J,d >, 78  0bw ݎ/~fn f^  w & H l w d  wVTBLODTRTAtCCl6 X jf")~F > Z f N`  ( ~eV #^O100,-(SP) EMT <^O41> .ENDM .MACRO .MONR MOV #^O101,-(SP) EMT <^O41> .ENDM .MACRO .MONF MOl .\ h7cJW*\  (.wOn   N 80b7d8`~޶ ? & & A~xf~~hB MOV R2,R3 293 001156 042703 104377   BIC #104377,R3 ;CLEAR ERR AND NED BITS (ALSO LOWER BYTE 294 001162 001416    BEQ DONE ;[NED] HAS GONE TRUE WITH NO OTHER ERRORS 295 001164 005737 177570   TST @#SWR ;ERROR IGNORE ON? 296 001170 100001    BPL .+4 ;NO: CONTINUE 297 001172 000207    RTS PC ;YES: NOTHING ELSE TO DO BUT RETURN 298 001174 010200    w  .B 7mw .hw %/w \'b 78  ? & & L w ܇ ~η   ? 7h 7d x ` T e^ 7j   ^ 7 Z d P ww 7    7 "~> Ae~.gOV #^O105,-(SP) EMT <^O41> .ENDM .MACRO .SYSDV MOV #^O106,-(SP) EMT <^O41> .ENDM .MACRO .RADPK .P.  j~~|  L eD| (D.  !RB !R=L    f`Ud  bt`   U~Fd z     5> r ^j ^ >`>>`  $n7 7 %7$ 7$ 6~Eu~~X~Х ~HF MOV R2,R0 ;DISC STATUS FEB26FST 299 001176 000000    HALT FEB26FST 300 001200 000207    RTS PC FEB26FST 301 302 001202 116767 176634 176635 LIGHTS: MOVB DSCBLK,DISPLAY+1 303 001210 016737 176630 177570  MOV DISPLAY,@#SWR ;(SWR IS SIGN-EXTENDED ON BYTE MOVES) 304 001 Ud  bt   Ud Ud  b  ~6~.7# @ @ R % $$Ћ7 ׭ w h jf"  wVwTW"(j\ ~hMODE .ADDR MOV #^O2,-(SP) EMT <^O42> .ENDM .MACRO .BIN2D .ADDR,.WRD .MCALL .AMODE .AMODE .WRD .AMD  &.rC@AEPA&fw w /w .w Hw     U@  Ud      b  F   U  U dWA-~f" " i L f"| ZJ .  9 B h$ EBU~iI~~8~*~(J216 000207    RTS PC 305      .PAGE DSCMAG RMACRO V005B PAGE 8    PRIVATE DATA GULF ENERGY & ENVIRONMENTAL SYSTEMS FOR INTERNAL USE ONLY 306 001220    DONE: ;ALL DONE: WRITE A FILE MARK AND EXIT 307 001220 012702 000001   MOV #1,R2 308 001224 012746 000004   MOV #4,-(SP) 309 001230 004767 177200   JSR PC,TAPEGO ;WRITE ONE FILE MARK 310 001!7wpVڷR~ѶeH.ԞԮԄՠjBҰ f\nHpּV֪6Tr~"~i#,-(SP) EMT <^O42> .ENDM .MACRO .CSI1 .CMDBF .MC$w V׭<V`.VU .|%! ee [~ w ـ  ŋWe ee e Q Š@(p&(4@LXz؆ؒ؞تض؂ԔV~ *W"W"Z&ER@R` > x x'~vj(ALL .AMODE .AMODE .CMDBF EMT <^O56> .ENDM .MACRO .CSI2 .CSBLK .MCALL .AMODE .AMODE .CSBLK EMT <^OM~9~~H~N234 012700 177777   MOV #-1,R0 ;DISPLAY GOOD STOP FEB26FST 311 001240 000000    HALT FEB26FST 312 001242 000776    BR .-2 FEB26FST 313 314 001244    SELERR: ;CONSOLE SWITCH SELECT ERROR 315 001244 012700 177400   MOV #177400,R0 1)~fk2.CVTDT .CVTDT #^O1,.ADDR .ENDM .MACRO .CVTDT .CDE,.ADDR,.VAL1,.VAL2 .MCALL .AMODE .IF NB,.VAL2 .AMOD3DVV.` w ;w ĝDw w  D.:"f&f4D w \  h ?s~?5L=1=CEE FDC@DE |V5' ſe7  hӃɥwPwP o~vӆBCmeEj P zӠ6~k7E .VAL2 .ENDC .IF NB,.VAL1 .AMODE .VAL1 .ENDC .AMODE .ADDR .AMODE .CDE EMT <^O66> .ENDM .MAC8 ' ".`4DhD bDh$D.Q~W~~pf~R FEB26FST 316 001250 000000    HALT FEB26FST 317 001252 000167 176600   JMP DSCMAG ;TRY AGAIN 318 319 001256    TAPNRD: ;TAPE NOT READY OR NO WRITE RING 320 001256 012700 000377   MOV #377,R0 FEB26FST 321 001262 000000    HALT FEB26FSTADR MOV #^O5,-(SP) EMT <^O41> .ENDM .MACRO .GTCIL MOV #^O107,-(SP) EMT <^O41> .ENDM .MACRO .GTSBV t ppp tC. <hD !%&Th D-.C1= N %NNB=5J 1>%NB5~nL @wl1?=zBAf E1D f&f&~   NΕ w$~ Cå å$ נAEW~l^FTK CLR -(SP) MOV #^O4,-(SP) EMT <^O41> .ENDM .MACRO .STSTK .ADDR .MCALL .AMODE .AMODE .ADDR MOG &e N @ e0w &  e. 4 t7 4$tHA EH E1HUEA^~E}CEA  E1U~`u~ج~PV 322 001264 000167 177174   JMP TAPE10 ;BACK & CHECK AGAIN 323 324 001270 005267 176540  DSCINT: INC DINTFG ;SHOW INT CAME IN 325 001274 000002    RTI 326 327 001276    TAPINT: 328 001276 005267 176534   INC TINTFG ;SHOW TAPE INT CAME IN 329 001302 000002    RTI 330 331  000056'    .END DSCMAG DSCMAG RMACRO V00Qr  $rY. ^w Uw wr n . j  7,4XR L D+ŀ| n *-el.BBE,I  ~־5@ =CS#0-6]7 #0- 6ee ,e ~Fև,TV~6nU ; AS A FUNCTION OF THE ADDRESSING MODE OF ; THE ARGUMENT GENERATES THE APPROPRIATE ; MOV TO -(SP). ; ADDRESS MODES THAT ARVR4-P DQ44[. w@ 78 %(! . %W5@@wĕ E^E2    ށ B Bĕ\ECĒ1B  ~N 1Cĕ\EXe&e 4ze re n4Re 7!N  #2-7!s~Y~ȭ ~@~~0Z5B PAGE 8+ * * * SYMBOL TABLE * * *    PRIVATE DATA GULF ENERGY & ENVIRONMENTAL SYSTEMS FOR INTERNAL USE ONLY BFSTRT= 020000 DINTFG 000034R DISCGO 000652R DISC10 000712R DISC22 000740R DISC30 000762R DISC40 000772R DISPLA 000044R DONE 001220R DSCBLK 000042R DSCERR 001150R DSCINT 001270R DSCMAG 000056R DSCM10 000134R DSCM12 000176R DSCM14 000220R DSCM16 000244R aA|p +' &0 8 0 ?C `0  ?l~>b~6SS 1 PASS 2 # Xlw l!D7 V(c ENTER FILE/ELEMENT NAME:   FI~oLE NOT FOUND, REENTER: FILE NOT CONTIGIOUS, REENTdRGUMENT". ; .MACRO .AMODE .ARG SP=%^O6 .NTYPE .SYM,.ARG ;.SYM=ADDRESS MODE. .IF LE,.SYM-^O5 MOV .ARG,-(SPe å$ נA  @.  e`   <   . f5@|A&  & > z<V4V?& & bNN4NeN4V^?f `D` g7 ~רVwl& ~tl b&\PhER:  FILE TRANSFERED, NEXT: + ERROR - VALUE .~p TASK DID $EXIT.lo, Bo ```&]~*~ ~9~^ DSCM18 000262R DSCM20 000270R DSCM30 000422R DSCTAB 000000R DSWICH 000674R ERFLAG 000054R LIGHTS 001202R PC =%000007 R0 =%000000 R1 =%000001 R2 =%000002 R3 =%000003 R4 =%000004 R5 =%000005 SELERR 001244R SP =%000006 SWIMAG 000046R SWR = 177570 TAPADR 000052R TAPCMD 000040R TAPEGO 000434R TAPERR 001004R TAPER1 001qlwlw~lwlwEwlwl&**&4r (m)m H9L76 72 | (wzBm R e-~qwm! o< Rs.IF EQ,.SYM&^O40-^O40 .IF LE,.SYM&^O7-^O5 MOV .ARG,-(SP) ;[@]-(R0) TO [@]-(R5) .MEXIT   ;[@]X(R0) TO [@]X(R5) tn CFRBQ | b | h .uhf7 d~ 5@|q 5|j5|f5 |U|==|p w B eV @v4@$-R& ~ vLElMExQM^fwBCDT DKBFpo 4m Pm ~~qbr2x.ENDC .ENDC .IF EQ,.SYM&^O67-^O67 MOV .ARG,-(SP) ;ADDR AND @ADDR .MEXIT .ENDC .ERROR .SYM  ;.ARG ADa~H~~xW~b034R TAPER2 001140R TAPE02 000440R TAPE10 000464R TAPE12 000512R TAPE14 000516R TAPE20 000522R TAPE30 000620R TAPE40 000626R TAPE50 000640R TAPINT 001276R TAPNRD 001256R TCD = 167544 TINTFG 000036R TIV = 000104 TMA = 167546 TMPW01 000050R TST = 167542 TWC = 167540 . ABS. 000000  000 001304  001 ERRORS DETECTED: 0 FREE CORE: 16986. WORDS DK:,DENtDStQUtXXtTMuDTuRErTYrCRsLP.sCM@sASVsLD\sDInsFLzsTIsUTbsTChsBRsDBsEX"t ~nrE HOW OPEN CODE. ; THE ADDRESS OF THE FILEBLOCK MUST ; BE IN A REGISTER (R0 TO R5) .MACRO .CODE .FBLK,.N .NTYPE .= =f&@ I~~~t7 s xtD  rS#  BtVs   Pt< 7!! E|W,  ~rSYM,.FBLK .IF LE,.SYM-^O5 MOVB #.N,-^O2(.FBLK) ;R0 TO R5 .MEXIT .ENDC .ERROR .SYM  ;.FBLK ADDRESSING MO&oQ((.@d xjte~hf~~XuK:u&& & &  & HH:MM:SS MM/DD/YY qutuwu0_dߋbߋbbπ  b4hiT]hlTyhPpTyhsT~h!1sTh"~V~m~~(~*~ , ********** HG 50uzu fuDԝFԝC  X~.vs @vTv@&-@&@.@&0@&0@.&1@a' @d'}@s'Z@w'p@.R+@R,@R-@   PP~FDz~>UNDEFINED REFERENCES LOAD MAP SECTION ENTRY ADDRES~vR@.@R0@1.R0@R0@R1@Sy@9T}@e.iTZhB tz~  % w% 0 8.w%x_@ pՋAxv# e W &M.wF wb   2 T ~w. "Tx.V~&~~xH~~hW~ QJ L/P 1 PARITY E|~~RROR L/P 1 NOT READY L/P 1 AB&z0  <(9.>w  U P LW  [g4 [qp*. 6 7 .Bn~>ttt -n.* ` PwT  0  `.P7FwD7 TORTED}l~&f&f z 70 &~     .dIDW A<D :W . 40 0 ?`7\ "  nc.h%A & % %.  %x7 dt~Te<# FTT.v7!d w- C & +:}2}?0 }! & Tw#~0 ;(LC .  >, ,:<}&. 7~Xf~~Hu~  0K .bw 6 f& hfp6"&t 8. : >8 %  %.&x7 ~  .H w w 6 TH&T .n! M}2}e}2}}?& l  }& ! f }}`~~ :"." w & whfp9mQ"}.HO6   # xq.L7  ) 7 % (.re$ ~% rw  06A <Е)n6&<.4,A CЕ 5ЕR 5u& } $}  s}3}}3 }3 }@s}3 }  *M 3 }|~ <9 Mr~'  80 6u.nb7 (:<}(|.w $B 7 |" B.w~8~ ~(- X ;.8 0 P% H% @w%x8(x .&~/ wV7Z LD"(. 6:-*  30~nl },}< t8   w&ff& ~}Aaes!}B3 } D! ! 3 ~ } % 16s$6w. f& w7 ! &[qj .2.  8  2$%x  xY.0?%x6  0%3~TULSA UNION HAMBG SMITH 4 :., wC vvc  ,.e0 G~5!3 ~ ~ ^ĕ  R  s!}5Еs}~  3 ~ } 5  6 60w  d'b i [g4.,7  .7  xk.V  f 7 %.|7w N %6  8ddd d ~$~~~*~=$(d(?~vc9 F$.d -x   wT.7 7 ?3~ւ@& 5 55 ~ 3}    }@     f:<}Tq.`Ud  btoA8 > \% T % 8. L%x l f xiB~þ 2222~C.*\M@ L;@H@{.@t!@""@y@K@.D|~J&< 6 ~Nf~  e00& 7~w~E.`   .Ud  b   f.F.0  -J"w t3 "t$.:B  G```hKNM~fԜߜߜߜߜߜߜߜH@i N@sq@@y@ .y@z@@%le@R8x@.^@_@ @~9~~pH~Mp @w @.y@\@s@L @-!@\.-!y@&@@&`;@m'N@'@N1 j7 d&  & & &  C~> !"$'(+-.03569:6:Nx~6Jx @xS 6xh7 7 7 4, .  ѕ0~  &,  A~@u~~0~/.~e ~&   1.p     w n.( 77  [qp*.N  |^@`j xo=w @w fwwwu~ע=w  w  rw 8Ae0w ,w |VPTw D- pR8x&`;ee;&@*Ye YYqR8x&`;"ee;E,nsqi NsL 0Xsq w5wwwZ| 458ww5wZ7 rw l؄ wv1f~& f& r.: @ L;@i&@;.i N@X@+2@v}@{7@.}s"^@`j x.t 7 %M.%ĕtd72 vԪvw Bw .e` w ;w ĝdw wT~^ܢ@}@Bx@t!@""@.&y@,0a@2@49@:<}@.;K}@hfp@f@5 A E EWQ$   Cݓ E~ EjEŠp$tʋwXEW E?f'kKe.  -$]. `  +22;}G 9awe e % w.l 5  %ĕt72 Ԫw R~Bw .e` w ;w ĝw w5Y5 " _x &.rw xam5\"A;ȕe5 5 Ë  NP~N <w   fȥȥp wm ŀ i D7!(_MQ.L_ ŊY BT Q BM  Ye4g.&1 F %A .L%=  7 E" (. "&7B (+.7 _x&.?TC4_  $   ! ~ƒP n܏ 5$ 5$ 5  ..rJ D EE B?  .9W51 4 @   's,r, ( wR*Ye ;LC :<} 7$7$7$  6   6.$ e   b .  e  t4] _$49.e&   e  j  ޏ. f w %D~>7 PHw7 2%f&f 4,~0 0#.#7$#7$# #w r#5##g"b"V  <ӄ !%&t~ &e N @ e0w &   "7~"r"n"E w ~   w ׭4" ^w Uw wr nj  7,XR-P Dw@ 7~8 %(!  ,V,܅  wX w`Bݬ &60~  r6ԓ ГLC $:<}j(5!^f.  ! ^. ww (}'s&'s*. l Հw  .! Z< RBCDTTZ. .0့  A E f f .VEWQ$ ԤTƪ^" l~40l\@ww&w0w~.ƚtv& wwww6pA$imR  (.(D (l2 e@ t('sR8x 's".x  www{ 'DKBF $:.x   x$  C E   HR.|EEŠpʋwXE)2 f&M & & N wj ~ w  w .NEe   o  4%??w N%w 77w Z e0w 9~,w w p Cå å$ נA   e`  ~  Ëנe ee e ѐ  @(@@@ ODT-11R V003ABE@@ VH*;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRB q>@q|& .tՀ E ``e$  &$. " # == =@72`  , 's's 's 'see;.h  1ŀ @ .:`^@_@D @.<@@e@q!e@2@:<}@._MQ7x& _8 `  2&.& x 5Pv" Օ+  d 0B` e0  w %Օ- ҋ&~  . " #  " (&=UAC$. &\,'s 'see;'s 'sF.& w.@Mp&@MW@ee;@Ye@.amxx@*}`@u~@@@ ` @S.s'@(:D~h _x  .LB   E $  f R . ff&f& j   pt~   P. ! w (  !"4f's 's's$:<} .&  7 ww 7 s, Tq's:`hC`_hBL.[q`"hN[q(x<h 1"?Thf2 Nh*;9 Nh .rʋ  wE8_`. 0   w i 7 wx T 5 !$wU  wp< E&[qjw.   .* 5 's('s.7` ŜE 7,'s \'s's('sv.2+ .&xӸӸӸ"_"_x,Ӹ5 5Ɂwv(  ~@U 2 U 5 /5 eנwנw,憲 5 E!>  !& w &9mH.Pŀ5 }".4-e   ".'s's's's$'s.&#.L.r$f$_v_ _. 8  ʕ %:~2נ5 'E TE@U E   4w22נ&.v E7 [5@ "b.!% '2 1 w X& 's2 's's$'sW.Lm w(\T vsv_[q.) _8(LC .& wʕ6 @ TT& ` _ $(*wU Ec~v 5 5 E  "U #U U E wU + 4e. 45 0 .  5% Z2 lm Y,3 7.'s 's's's's*rwd-&& **._T.L T D2  { _T2r ;3/U@ w5 Ec~  X  P % נU E U E  X5$M0.l m 44 e.4   xf  21.'s's's 'sm.@ \(  w Հ1(2B AC: BBPB ? < JJ ILL CMD!  X3  `  ;K};K}_l.@ T T$ _T4LT=bh ~fE!>ע#ע, wZ 8 EAUP5.Z 5? @"(*Ew! C6's's 'see;.ŀ   (hfp$.7X ILL PAR! t ffNON-QUIESCENT Z&ENDS8_T&".&E!ʕw Dw} _"2(_.L 9 U "r`U@ ~ޘ E@U@E@E@ V   0 5:( [qj ! "T.AD 5w w";  n `w ^ l3 (\. e  ŜEqe<QUXXTMDTRENTY.q!e eamxx*}`u~@<@N.CRLPCMASLDDIFLTI=w   w &WY  [g4 `  hfpN.r x >  U E@E~V@ ! ! ! jfE?  .W& N & @DC4f  $.@\&\~.,KsՀs B 's.REAPUT2.  $P(?.TCBR0DB>PTEX* B\ `  ` &_D6 #_.e@  Bl C rrr  J ҙg~ΙD `` c  C &.  B  WsE1f& f& (1m$(x2: . @F 0> "[q*Z 7  .[q [q [q [q [qG<c .&8 +CʋC`  t ` $.H~FWte*pe & & & I" :<}"Tq&<.:f  @    &J  .ROS DISC SYSK. D S#  J"[q [q ([qJ.0   LL xp 1 2 ʕ~2 ;K};K}& ` .rw pp5fMJ 9ve-&9&99E? 9  9 9 9Le6  8~e@84e5?U>88NF(`!  w5,  ! [qj =. OTEM INIT . IALIZED   p2pZFlw${QD 's2 "'sZ &'sFP X  7!F,[q [q [qX[q (_MQ .V EW,  ! Q ._ &y;K}&y &""V  D w}  ` R 8e2) ERROR XXXXX SXXXXX SXXXXXo~6 SXXXXX SXXXXX ")07>Sww~@ u (  & F.wwnw w A@!T$Fel22F.'s2's's2'sFO$b %U  Ye"D .|  W,WLWC W(_$MW.V__. Caɕ EH .& C5 Ww  w dd w| zjdw  7 \+wV&~PDdFf& \X[g4hfp). 525" B EP.   " Y  )( 'see;'s&@e Xd"~ % w, 'sZ,WT W,WT ^"Mp&. & &&  )[ D  lJ `  222.L    r$\C >  J  v f ^ddc`0 E \~& ] $2. w B2r2  ,rr  ee;'s9a #}_.0&W,WB    ` .L !  ~   ir &Z~ ZaFHJL\/~btt,  ""  .< w| F! wB@`c; UPDATE 12/12/72 ROS2.CT0 (V4) ; UPDATE 12/8/72 ROS2.CT0 (V3) ; UPDATE 11/6/72 dD "~P.:F* 0 F& ` {(`0e; WILL BE IN THE SYSTEM NOR ******** ; fG~g < !Q.b !AD # b.  ! h ROS2.CT0 (V2) ; UPDATE 10/9/72 ROS2.CT0 ******** ;  , n$:<}2s' ee;9jROSLOD II. ******** ; UPDATE 6/30/72 ROS2.SYS ; UPDATE 6/27/72 ROS2.SYS ; kl # $.  1f& f& imR&m m THIS SYSTEM IS FOR CITGO ONLY. IT WILL ******** ; BE LABELED AS FOLLOWS: n UPDATE 3/17/72 ROS2.SYS ; UPDATE 2/24/72 ROS2.SYS ; UPDATE 2/16/72 ROS2.SYS ; o UPDATE 6/22/72 ROS2.SYS ; UPDATE 6/21/72 ROS2.SYS ; UPDATE 5/5/72 ROS2.SYS ; p~w ×&  6  d7aߕ Z?Vr ******** ; CITGEN - THE ROSGEN VERSION FOR THE ******** ; s UPDATE 1/12/72 ROS2.SYS ; UPDATE 1/11/72 ROS2.SYS ; STANDARD REGISTER DEFINITIONS R0 t UPDATE 5/2/72 ; ROS2.SYS ; UPDATE 4/29/72 ROS2.SYS ; UPDATE 4/21/72 ROS2.SYS ; u jV~ JߐkW?r ߕ 2 ::4?2  ߐw v ; =0 SOFTWARE ; =1 HARDWARE $SAVE = 104400 ; USE TRAP INSTRw PROJECT. IT WILL HAVE A LP ******** ; AND ROSLOD II. INPUT WILL ****x = %0 R1 = %1 R2 = %2 R3 = %3 R4 = %4 R5 = %5 SP = y UPDATE 4/17/72 ROS2.SYS ; UPDATE 4/14/72 ROS2.SYS ; UPDATE 4/13/72 ROS2.SYS ; z  K~~ee Dw 6 &f  {. TO CALL SAVE ; ; ; TASK CONTROL SYSGEN EQUATE CARDS ; NPRIOR = 4. ; NO. OF SOFTWARE PRIORI|**** ; CORE RESIDENT. THE COMMON ******** ; } %6 PC = %7 PS = 177776 ; $DEBUG = 1 ; ROS DEBUG SWITCH ~ UPDATE 4/12/72 ROS2.SYS ; UPDATE 4/10/72 ROS2.SYS ; UPDATE 4/10/72 ROS2.SYS ; ߕ D[7 >6~fv$ j 6 6 Õߕ& 7 f  2TIES. ******** PRIBKG = NPRIOR ; PRIORITY OF BACKGROUND $BATCH = 1 ; NO BATCH` WILL BE LINKED WITH THE SYST******** ; CITGO - ROS2 FOR THE PROJECT. NO LP******** q ******** $CORAL = 1 ; CORE ALLOCATION ******** i UPDATE 4/5/72 ROS2.SYS ; UPDATE 3/31/72 ROS2.SYS ; UPDATE 3/23/72 ROS2.SYS ;  7  M~nߐ& t <Dj0j:0jDߐ& w<^ \!^  9:^ >[g4^ hfp^ =sL"^ D ^ .<(<h k IN THE SYSTEM ******** .IFLE NPRIOR ; XXXXXXXX ;NPRIOR MUST BE GR.\!ps@; @s kM@.t 4!@u Z@y X@ d@ @". l.9:;@4@{7@H.M:@}@""@:<}@_MQ@&.ee;.[g4( [g4h&f&M .hfp(hfph EATER THAN ZERO .ENDC MXTASK = 4 ; ONLY ONE CORE RESIDENT TASK ******** NLTASK = @ @ q@ ; @}@.*\M@@8}@u:@e"@a.{7@E@M:@@Ye@hfp@[g4@9mQ@.imR@m@Tq@[qj@4f@'.(E:h\f:h 1 ; LARGEST TASK # OF TASKS LOADED WITH SYSTEM ;NOTE: IF OVERLAYS ARE USE""@ #}@2.U(@a,}@,@.@.R@.A<@MZ@oQ8}@{QD@Q\!H9)h)bh.9p:h9ahb4(p)Xhwp.=sL"m@[qj@(L.4h2_MQhYeh=sL"h.D (2D h.7 7 7 D, THEN THE ;FIRST OVERLAY TASK NUMBER IS MXTASK+1 OVTMIN = MXTASK+1 ;FIRST OS.YTG@Zp@Zd'@f@\g@.Cm@imR@m@v3d@v@c.9wW- t  r  .& & w ac &&  VERLAY TASK NUMBER OVRLAY = 1 ; SYSTEM OVERLAY OPTION ;0 = NO OVERLAY,@w]@z4f@9p:@9a@.}C @ q@4f@(\!h0 &\!phկv~("\!y:h v $&2>JVbn*m[qj|.&qu~@^ ; ^  ; ^ v@^ [qj^ {QD^ }C ^  1 = OVERLAY .IFNZ OVRLAY ; MAXOVR = 40. ; ONLY 40. DISK RES. TASKS **** . &6  r60f $0&2>JVbn&2>JVbnzN*&2> J Vbnz.u~@D @<@a,}@..R@aw}@yR@9 N@(d<@.; hfp@[g4@(h; h**** .ENDC ;(NOT USED IF OVRLAY = 0) .IFZ OVRLAY ; MAXOVR = 0  & ,.,mz4f4f #}U(sP>2>JVbnz*2>J V bnzo.5>5>5hu~@hR. HH:MM:SS MM/DD/YY  (. w  ы Dĥ  K [g4.&D0 C ``a  ;SET TO ZERO ONLY IF NO OVERLAYS .ENDC TASMAX = MXTASK+MAXOVR ;MAXIMUM NUMBER OF TASKS (INCL OVERL*imRM:Cm E 9a9p:J*8} ; ;  {QD }C "">  >>">&D.@5>5>5>5>  .&! &e I d !  D .LW,$L- 6 vw 6 hfpAYS .IFLE MXTASK ; XXXXXXXX ;MXTASK MUST BE GREATER THAN ZERO .ENDC V*{7MZ . }YTG;b*.> >$Pf>5>5> >&u.&0?h0?h ! $ $yR .r$w*xW, !.R $. ; hfp@[g4@(^ ; h  .IFL NLTASK ; QTAB XXXXXXXX ;NTASK CANNOT BE NERa,}9wW Zd' Zpy Xnz*u Z ds kM t 4!  qz0?h  ?h?h"?&h@.L0?h0?h0?h0? h". * Dԝ aw}a,}*"; FԝC  .'d w  Օ+ [g4.& d 0B` e0 GATIVE .ENDC .IFG NLTASK-MXTASK ; QTAB XXXXXXXX n* lv3dv  u:e"`"T*f?h ?$hLr?h0?h? h?h2.25@5@ <9 N[ w L%Օ- ҋ hfp) ;NTASK MUST BE <= MXTASK .ENDC .IFNZ OVRLAY ; ; STATE SIZE OF DYNAMIC CORE STORAGE IN RO qw] *\M,\g PA<oQ8}կv~u*0 ,  5@9 @@"@&.X5@5@5@5@ .v@;@>h yh      ..    X} HH II JJ.w,D~@A*}@J&) @8.m4p@>) @!?}@Q@@Re@.S@~ 7 w,9mH  J ?B ; .fhj l nprtvxz|~@.z|~  A*} A*}>) $!?}.ӵeK6 w " D~*}D~LC z4fG.rY& w %"[g4. ; PRIORITY PROPERTY LEVEL 10 PRIP11 = 0 ; PRIORITY PROPERTY LEVEL 11 PRIP12 = 1 =. f ^J 9a"P.`0# <bU.bw <  rB)D~&hfpb. V $&S@~.5& H H%E Cw . enBA  J6 w 8n&hfp ; PRIORITY PROPERTY LEVEL 12 PRIP13 = -1 ; PRIORITY PROPERTY LEVEL 13 PRIP14 = -1 E ~  &D[g4B .w && && ,hfpmy. H) w_(!?}  \.0 "$@8 . EW  9 ; PRIORITY PROPERTY LEVEL 14 PRIP15 = -1 ; PRIORITY PROPERTY LEVEL 15 PRIP16 = 0 .: @ L;@i&@;.i N@X@v}@{7@}@.)Zw & wB5v hfp9mQ"}&B.NAЀA w .Xe@ @@Z.-Z@*}@D~@2@Re@.S@~1 "&.07  fn`7|n$\; PRIORITY PROPERTY LEVEL 16 .IFNZ OVRLAY ; .IFL 16.-NPRIOR XXXXXXXX TABLES A@y:@\!y:@2@y:@.E:@MX@iTZ@e:@f:@. g:@m@=sL"@NAA[g4* h CC5PA1A"CCPA"A@[q*}@|x@y2g@Yzb;@Z.;}G@}s@D~*}@k~[@u~@.~y@@ ` @.VBABWCEqJ,.|7œ& ‹ ND PARAMETERS CURRENTLY CODED XXXXXXXX FOR MAXIMUM OF 16 PRIORITY LEVEL .ENDC ;