`N>` >A% B E͋  ͕͋ W=F ݆   &&oQ(&w.XZ02468.&7dxE eLw.LWtEw5(DF5J.r"  @dE>. R 7   8 U.5   .e 6w,]$ d~×. bw 7 f`0&oQ,XZ02468,&7dxE eLw,LWtEw5(DF5O,r"  @dEC, R 7   8 Z,5   ,e 6w,]$ d~×, bw 7 f`_d5 ߋ=,0bߋb xb e~ ;ORIGIN: CARDS 12-19-72 MAGDSC.S01 ;********* M A G T A P E T O D I S C ********** .TITLE MAGDSC ;*********************************************************************** ;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 ;SENSES [NED] FOR THE PURPOSE OF DETERMINING WHEN THE OPERATION ;IS &oQ(&w.XZ02468.&7`xE eHw.LWtEw5$DF5N.r  @dEB. J 7   05=.   e >.w4],(d~×bwf.   7 f`_d_d5 ߋ8.0bߋb xb e~ .V55t`fl.|0  v.5U@7 hÌ x.  DBET.0  @0& @w7"& Aw  r ,V55t`fq,|0  v,5U@7 hÌ x,  DBEY,0  @0& @w< & Aw  w& 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. ;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 DO NOT PERFORM WRITE CHECK / PERFORM WRITE C5 ߋb.0ߋb xb e~ .V55t`f0.|  v.5U@7 lÌ x . HBE0#. $@0& @w& Aw   0&oQ,XZ02468,&7`xE eHw,LWtEw5$DF5S,r  @dEG, J 7   05B,   e >,w4],(d~×bwk,   7 f`_d5 ߋb,0ߋb xb e~ ;ORIGIN: CARDS 12-19-72 DSCMAG.S01 ;********** D I S C T O M A G T A P E ********** .TITLE DSCMAG ;*********************************************************************** ;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 TRAHECK ; 4 DISABLE DISC INTERRUPT ENABLE DISC INTERRUPT ; 5 DISABLE TAPE INTERRUPT ENABLE TAPE INTERRUPT ; 6-7 SELECT TAPE UNIT 0 TO 3 ; 8-14 SELECT DDC DISC SELECT RF-11 DISC ; 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 HECK ; 4 DISABLE DISC INTERRUPT ENABLE DISC INTERRUPT ; 5 DISABLE TAPE INTERRUPT ENABLE TAPE INTERRUPT ; 6-7 SELECT TAPE UNIT 0 TO 3 ; 8-14 SELECT DDC DISC SELECT RF-11 DISC ; 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 ,V55t`f0,|  v,5U@7 lÌ x , HBE0(, $@0& @w& Aw  &NSFERRED 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. ;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 DO NOT PERFORM WRITE CHECK / PERFORM WRITE CHECK ; SELECTED TAPE UNIT NOT READY AND/OR WRITE-ENABLED ; F200 TAPE ERROR. DISPLAY: STATUS + TAPE RECORD NUMBER(0-377) ; F201 DISC ERROR. DISPLAY: STATUS ;*********************************************************************** .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 BUSELECTED TAPE UNIT NOT READY AND/OR WRITE-ENABLED ; F200 TAPE ERROR. DISPLAY: STATUS + TAPE RECORD NUMBER(0-377) ; F201 DISC ERROR. DISPLAY: STATUS ;*********************************************************************** .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 BU .ASECT .=16000 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  4 DISABLE DISC INTERRUPT ENABLE DISC INTERRUPT ; 5 DISABLE TAPE INTERRUPT ENABLE TAPE INTERRUPT ; 6-7 SELECT TAPE UNIT 0 TO 3 ; 8-14 SELECT DDC DISC SELECT RF-11 DISC ; 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 TAPFFER .ASECT .=16000 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 FFER .ASECT .=16000 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  177466 ;DAR 177470 ;DAE 204 ;I.V. 206 DINTFG: .WORD 0 TINTFG: .WORD 0 TAPCMD: .WORD 0 DSCBLK: .WORD 0 TMPW01: .WORD 0 .PAGE DSCMAG: ;ENTRY AND RE-ENTRY POINT CLRB DSWICH ;RESET RF-11 LOGIC SHUNT MOV @#SWR,R0 ;OPTION SELECT PATTERN BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5 ;INIT FOR DDE UNIT NOT READY AND/OR WRITE-ENABLED ; F200 TAPE ERROR. DISPLAY: STATUS + TAPE RECORD NUMBER(0-377) ; F201 DISC ERROR. DISPLAY: STATUS ;*********************************************************************** .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  ;CMA 177466 ;DAR 177470 ;DAE 204 ;I.V. 206 DINTFG: .WORD 0 TINTFG: .WORD 0 TAPCMD: .WORD 0 DSCBLK: .WORD 0 TMPW01: .WORD 0 .PAGE DSCMAG: ;ENTRY AND RE-ENTRY POINT CLRB DSWICH ;RESET RF-11 LOGIC SHUNT MOV @#SWR,R0 ;OPTION SELECT PATTERN BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5  ;CMA 177466 ;DAR 177470 ;DAE 204 ;I.V. 206 DINTFG: .WORD 0 TINTFG: .WORD 0 TAPCMD: .WORD 0 DSCBLK: .WORD 0 TMPW01: .WORD 0 .PAGE DSCMAG: ;ENTRY AND RE-ENTRY POINT CLRB DSWICH ;RESET RF-11 LOGIC SHUNT MOV @#SWR,R0 ;OPTION SELECT PATTERN BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5 C 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 ;BACK TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAPE UNIT SELEC .ASECT .=16000 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 ;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 ;BACK TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAP ;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 ;BACK TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAP!T & 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 #6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAPE " 177466 ;DAR 177470 ;DAE 204 ;I.V. 206 DINTFG: .WORD 0 TINTFG: .WORD 0 TAPCMD: .WORD 0 DSCBLK: .WORD 0 TMPW01: .WORD 0 .PAGE DSCMAG: ;ENTRY AND RE-ENTRY POINT CLRB DSWICH ;RESET RF-11 LOGIC SHUNT MOV @#SWR,R0 ;OPTION SELECT PATTERN BIC #100000,R0 ;IGNORE ERROR SUPPRESS BIT MOV #DSCTAB,R5 ;INIT FOR DD#E 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 #6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAP$E 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 #6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAP%MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM20 ;NONE DSCM16: MOV #20,-(SP) 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. ;C&C 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 ;BACK TO ORIG MOV R0,R1 ASH #6,R1 BIC #-031000-1,R1 ;ISOLATE TAPE UNIT SELEC'E MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM20 ;NONE DSCM16: MOV #20,-(SP) 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. THE(E MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM20 ;NONE DSCM16: MOV #20,-(SP) 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. THE)ONTINUE UNTIL A DISC READ REQUEST RESULTS IN A [NED]. CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS READ DSCM20: MOV #5,-(SP) JSR PC,DISCGO ;READ NEXT 16-K WORDS FROM DISC MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #2,-(SP) ;WRITE COMMAND JSR PC,TAPEGO ;GO WRITE THE 8 RECORDS BIT #10,R0 ;WRITE CHECK SELECTED?*T & 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 #6*40,@14(R5) DSCM14: MOV #400,@(R5) ;RESET DISC MOV #40000,@#TCD ;RESET TAPE +N ADVANCE TO THE NEXT DISC BLOCK AND ;ADDRESS WITH A NOP TO CHECK FOR [NED]. WHEN IT IS FOUND, COMMAND ;THE TAPE ONCE MORE TO MOVE PAST THE FILE MARK AT THE END OF THE FILE. CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS WRITTEN DSCM20: MOV #1,-(SP) JSR PC,DISCGO ;NOP THE DISC TO LOOK FOR [NED] MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #1,-(SP) JS,N ADVANCE TO THE NEXT DISC BLOCK AND ;ADDRESS WITH A NOP TO CHECK FOR [NED]. WHEN IT IS FOUND, COMMAND ;THE TAPE ONCE MORE TO MOVE PAST THE FILE MARK AT THE END OF THE FILE. CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS WRITTEN DSCM20: MOV #1,-(SP) JSR PC,DISCGO ;NOP THE DISC TO LOOK FOR [NED] MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #1,-(SP) JS- BEQ DSCM30 ;NO MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST WROTE 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 .MOV R0,R2 BIC #-7-1,R2 ;GET # FILES TO SKIP BEQ DSCM20 ;NONE DSCM16: MOV #20,-(SP) 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. ;C/R PC,TAPEGO ;READ THE NEXT 8 RECORDS MOV #3,-(SP) JSR PC,DISCGO ;WRITE THE 16K-WORD BUFFER TO DISC BIT #10,R0 ;WRITE CHECK SELECTED? BEQ DSCM30 ;NO MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST READ MOV #7,-(S0R PC,TAPEGO ;READ THE NEXT 8 RECORDS MOV #3,-(SP) JSR PC,DISCGO ;WRITE THE 16K-WORD BUFFER TO DISC BIT #10,R0 ;WRITE CHECK SELECTED? BEQ DSCM30 ;NO MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST READ MOV #7,-(S1 ;BACK FOR MORE .PAGE TAPEGO: ;THIS IS THE MAG TAPE "GO" ROUTINE MOV (SP)+,R1 ;POP THE COMMAND MOV R1,TMPW01 ;SAVE IT FOR CHECK BELOW BIS TAPCMD,R1 ;INSERT THE UNIT # AND INTERRUPT BITS TAPE10: MOV TAPCMD,@#TCD ;SELECT THE UNIT MOV #4000,R3 SOB R3,. ;LOOP TO ALLOW LOGIC TO SETTLE MOVB @#TST,R3 ;GET LOWER STATUS BYTE BMI TAPE14 ;READY TAPE2ONTINUE UNTIL A DISC READ REQUEST RESULTS IN A [NED]. CLR R4 ;INIT LOCAL MEMORY OF DAR CLR DSCBLK ;INIT COUNT OF 16K-WORD BLOCKS READ DSCM20: MOV #5,-(SP) JSR PC,DISCGO ;READ NEXT 16-K WORDS FROM DISC MOV #8.,R2 ;INIT TAPE LOOP COUNT MOV #2,-(SP) ;WRITE COMMAND JSR PC,TAPEGO ;GO WRITE THE 8 RECORDS BIT #10,R0 ;WRITE CHECK SELECTED?3P) 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 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 B4P) 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 MOV (SP)+,R1 ;POP THE COMMAND MOV R1,TMPW01 ;SAVE IT FOR CHECK BELOW BIS TAPCMD,R1 ;INSERT THE UNIT # AND INTERRUPT BITS TAPE10: MOV TAPCMD,@#TCD ;SELECT THE 512: JMP TAPNRD ;NOT READY TAPE14: ASR R3 ;CHECK FILE PROTECT BIT BCS TAPE12 ;NO WRITE RING MOV #BFSTRT,R3 ;INIT THE MEMORY ADDRESS LOCAL MEMORY TAPE20: CLR TINTFG MOV R3,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV R1,@#TCD ;PERFORM COMMAND BIT #40,R0 ;IS TAPE INT ENB? BNE TAPE50 ;YES TSTB6 BEQ DSCM30 ;NO MOV #8.,R2 ;RE-INIT LOOP COUNT MOV #200,-(SP) ;BACK SPACE COMMAND JSR PC,TAPEGO MOV #8.,R2 MOV #1,-(SP) JSR PC,TAPEGO ;RE-READ THE STUFF WE JUST WROTE 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 7ITS TAPE10: MOV TAPCMD,@#TCD ;SELECT THE UNIT MOV #4000,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: MOV #BFSTRT,R3 ;INIT THE MEMORY ADDRESS LOCAL MEMORY TAPE20: CLR TINTFG MOV R3,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV FUNIT MOV #4000,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: MOV #BFSTRT,R3 ;INIT THE MEMORY ADDRESS LOCAL MEMORY TAPE20: CLR TINTFG MOV R3,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV R1,@#TCD ;PERFORM COMMAND BIT E @#TST BMI .-4 ;FIRST WAIT 'TILL READY GOES FALSE TSTB @#TST BPL .-4 ;THEN WAIT 'TILL IT GOES TRUE TAPE30: TST @#SWR ;ERR IGNORE BIT ON? BMI TAPE40 ;YES MOV @#TST,R1 SWAB R1 BNE TAPERR ;STATUS ERROR BYTE NOT ZERO TAPE40: ADD #4000,R3 ;BUMP LOCAL CMA MEMORY FOR NEXT TIME SOB R2,TAPE20 ;LOOP FOR SPECIFIED COUNT RTS PC F ;BACK FOR MORE .PAGE TAPEGO: ;THIS IS THE MAG TAPE "GO" ROUTINE 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 TAPE10: MOV TAPCMD,@#TCD ;SELECT THE UNIT MOV #4000,R3 SOB R3,. ;LOOP TO ALLOW LOGIC TO SETTLE MOVB @#TST,R3 ;GET LOWER STATUS E R1,@#TCD ;PERFORM COMMAND BIT #40,R0 ;IS TAPE INT ENB? BNE TAPE50 ;YES TSTB @#TST BMI .-4 ;FIRST WAIT 'TILL READY GOES FALSE TSTB @#TST BPL .-4 ;THEN WAIT 'TILL IT GOES TRUE TAPE30: TST @#SWR ;ERR IGNORE BIT ON? BMI TAPE40 ;YES MOV @#TST,R1 SWAB R1 BNE TAPERR ;STATUS ERROR BYTE NOT ZERO TAPE40: AD"D """""DDDDDD@DDDDADDB CoQ^2 oQK2 oQ{2 eoQ^2 oQK2  oQ{2 j$Dffffa ͋,L w:B8 ` 5 &  E >w   f5eU@  [*   & * G &( 8L'4e Q$ BBB"   U@ U e  "U%Gef. U U Bb 0 * B.&0 M &0 & ID #4000,R3 ;BUMP LOCAL CMA MEMORY FOR NEXT TIME SOB R2,TAPE20 ;LOOP FOR SPECIFIED COUNT RTS PC ;ALL DONE TAPE50: WAIT TST TINTFG ;DID INT COME YET? BEQ TAPE50 BR TAPE30 TAPERR: ;A TAPE ERROR HAS BEEN DETECTED SWAB R1 ;RESTORE ERR PATTERN BIT #77400,R1 ;CHECK FLAGS OTHER THAN FILE-MARK BNE TAPER1 ;SOMETHING ELSE IS THEREJBYTE BMI TAPE14 ;READY TAPE12: JMP TAPNRD ;NOT READY TAPE14: ASR R3 ;CHECK FILE PROTECT BIT BCS TAPE12 ;NO WRITE RING MOV #BFSTRT,R3 ;INIT THE MEMORY ADDRESS LOCAL MEMORY TAPE20: CLR TINTFG MOV R3,@#TMA ;SET UP MEMORY ADDRESS MOV #4000,@#TWC ;& WC MOV R1,@#TCD ;PERFORM COMMAND BIT #40,R0 ;IS TAPE INT ENB? *: x7e7 l*`ɋr w&^ $fH*eaR_E $*`T *`T^  &f (^ $ e *,u"& & *  p5" *U( 4   h*2 ^ .&M BIT #24,TMPW01 ;WAS IT A FILE-MARK REQUEST? BNE TAPE40 ;WE WERE EXPECTING A F/M INDICATION TAPER1: MOV DSCBLK,R3 ;CURRENT DISC BLOCK ASH #3,R3 ADD R2,R3 ;TAPE RECORD # CLRB R1 BISB R3,R1 ;REPORT ERRORS IN UPPER BYTE; RECORD # IN LOWER MOV R1,-(SP) .BYTE 200,3 ;F200: TAPE ERROR IOT EMT 60 ;EXIT .PAGE DISCGO: ;MN BNE TAPE50 ;YES TSTB @#TST BMI .-4 ;FIRST WAIT 'TILL READY GOES FALSE TSTB @#TST BPL .-4 ;THEN WAIT 'TILL IT GOES TRUE TAPE30: TST @#SWR ;ERR IGNORE BIT ON? BMI TAPE40 ;YES MOV @#TST,R1 SWAB R1 BNE TAPERR ;STATUS ERROR BYTE NOT ZERO TAPE40: ADD #4000,R3 ;BUMP LOCAL CMA MEMORY FOR NEXT TIME SOB R2,TAPE20 0 &MU%D*r" 0  e  *H eȕ  *& ȕ5 ,I * E&  0, *   $* K s l* e &5H*% | ` ȕɋ)& $*fea  &%^ &*oTQAKE THE DISC GO 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 SECTR ;LOOP FOR SPECIFIED COUNT RTS PC ;ALL DONE TAPE50: WAIT TST TINTFG ;DID INT COME YET? BEQ TAPE50 BR TAPE30 .PAGE TAPERR: ;A TAPE ERROR HAS BEEN DETECTED SWAB R1 ;RESTORE ERR PATTERN BIT #77400,R1 ;CHECK FLAGS OTHER THAN FILE-MARK BNE TAPER1 ;SOMETHING ELSE IS THERE BIT #24,TMPW01 ;WAS IT A FILE-MARK REQUEST? BNA!< .?GHDAB+:$ѠPMNK-ʥZ"(*YVUS90'\_653(+. H*E  &5 `$*9 B:wL ,͋ a*'u" ݁ &^ &( (e]E e&*E&^ $GU%@"* KQ$$ Tad%0 T&T*&e .END DSCMAG j ;WRITE ONE FILE MARK MOV DSCBLK,-(SP) ;DISPLAY THE NUMBER OF DISC BLOCKS MOV (PC)+,-(SP) .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: ;T^ ,J Kl*^@5$el E H* 8 ; KmcKE$* $ &e*-u  " ݁ &^ & (*e]E e&&^ $* w   Ue*l$* p  Heh*e 2! U%B,8 D*em*f  B E*pS $`1 $ *^C . DATE:- TIME*:- *EE*aC$&pcF %$@*C%@`Գ Aa ,Ӌ(q%$*(  EUHQ̳ (& *> Β ,^ 6S@*bAPE NOT READY OR NO WRITE RING CLR -(SP) MOV (PC)+,-(SP) .BYTE 101,1 ;A101: TAPE NOT READY 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 AeHr p & *FDGU%"0 M N& *' &M .0    *AQ >! E?EEE &KD! e *-eCa E  t7 p  7 H*Hwr wb7 **lCW Հ |7 *7  B߳tՀs*ߕ@t97 D672G7 *FՀ  %& n &*(   7 Nߓp* 2|߳t&^  +*D#ʔ `Zw*h 7 & 7 2 ~  * j ꀣw e0 *M &LTTTT*T e Tp  *mp'M , p ܐ*& fwGU%"^ l*$ M &6  H*E !$*%@5-  -:9 *Ou" ݁ &^  X& (e]E e*p@@ .*tA @ w pe* 2̓@ p @ _*d e6B @%w"*CY7XeD*@  ߓp*d4 w|  * e ! xeH* w!Dw!FeXL@ * \e:W* ׋' j%' +G&&^ $ h*b p %%%D*00VUNUf  Dcc# *   E *GU%"0* &0 0 0  0* e 2%  E*04, p  &l*=wSU&F  H*n 2 2 2  %$*lZ*@W 7wz  7\*<\wl^$ U H j*`  ށÔ "-~n*t N͕eBC 5*  & ͓ N *N"7 0 V7 Gbq *w &O 7e:%* e ABCX#eX8}  | !* @ RRRRReE *nSNu" ݁ &^ & (e*]E e&&^ $*TM . D*   B$c e< h*e,CR D%Z    D* !Hee N!  *w$CW)8NfU%&6d*!D .feG$h$s*$ $7 !7vv@q*H@&EPe dΓ 3 *l ;'8 O*76  ewA*%ߕ $^ *$ )ɐ ǁ *$^ f5ɕ*  &M 585e*D U ѐB`Ѱ `YhL7 & g*HU%"%F!ue*  *e    +, =* &&M ,<A *l*@& & &U%L#& *H*?7$Z % ` B$*nDL ,͋ a*su" ݁ &^ &&j (e]E e&*'&^ $GU%"M h*dfX*<f7 .*$7> l R*H ߟn U@l$_ ,*l lx f7e~Tvf*.xf 77}*$UAh h j UA*Hh$^ h px6 l  h |$M .(  2D*n   NLAmeE *   Et 0*6 % *    *8   *  & l*~  CmCpfEH*n& & EE`e E T $*pe&^ &*`:M*H.M w *$e w 7  7T*HE@L LNf<ߋL- *lS ʋ_ \Y  * Qt nIN d f*^ ߋL wLJU@Lu*$_  Lx  *& ߕ N    "W&& vE勥e&mE  .feGh*U%" * D*Wv e E BCU * U 5  *& f*U>!UED@U* U1 *& f<# *eVUNUf & S*Q UEUUDl*  \Ew*&^ %eeA m&*$If@ OWҕ^J@A*H Օ E  Iҕ\͋͊*lW  @ @Q Rʋ %6Rz*bIɕ;fIAeV! פ ̕:* .A!˕$Q$ ~-0*  @ ߓp ̔ @ )*&^ % w8ILL CMDINV CMDz*$SYN ERRILL DEVNO FILEILL ADRNO C4w *w wH*f  6  55 `$* B~wL ,͋ a*zu  " ݁ &^ & (*e]E e&&^ $*e  *l  Ame   h*uEC$GU%"D*M $M . |  *X*HOREc %8eLe  *חtw w  ae *$Cw    BC *H  w W!w w *lj7 _t&^ p*w P 6 3*=X30e $؋ h*w w e0ߐvߋt '# e e *0 !   LA A*eDbe   *E  #e &* !& DmDIfE  & & l* Eae E X  H* j | D I a($* v eM &Fw *>u  %^ & |  T-*U@ ACBc%DUey*$ ``E  l*H@PHU% && ,*l- /$^ ( +*&^ & *"u > U@m* &^  v/*@  ##`F *F :   X*Z@   $WErŗ54* ?5  `C`@N E * `` E 5\ E*4E Q% N  E*k@   E Ef* *i N֋lL7 %^ &* |  A%em C%X*# C Mw $ 4* " N )5 ` *P*$U%M 5>C *H( aØ` (E` lfS@ MD*EECDe0 fi*$ `$Ugzw>   *H  e ծ*l f  E * `#' W'͋ W*UWe ee e TZ*  W#053 0  " ; I * D F  0 2 e*`@ e ,* @A!$ᕦ)  ^ &* r= ) K eX͋   e v4*!  +^ ,*͋ (  (`% *Ĝ $' . (C*#͋$ ʊ ʕ  e*Le}*1$ 'd d0 * 4@c  W3 e % *DE0 @c ` V%  *h$g"H @ U$eF ed|-* v&*  JEl&1*$&  E`"D  /*H  (  U7*l   (Hh` B$$M e e@  %^ &*v| e%f   0X* 5 e  ! e4*- 6 ,W  %Ȋ' . *W& p  !B a b*O D  !%W *e af * R Hw e%^ &*Am|   NA!V W,WX*fZͥHK*-,^ eBj*$ UJ &^ %7*Hewe|w~xU% *le) & E Ee@wHO*> 4.f  E* !w ~ԋp!w *lԋj!w ` Ձ!w R Aa*Ba !w >`!w 2 Aa@a* O!QAaP !w &N`֋.AW@9W0W4*]WA!cS .W *J  , A!  c l*1 KRb s! p c*\ e6[W# (*2 :Bma!&  %^ &*&|   %AID NB X* BQ͊aB͋ \•4*{IW^Ur͗pߋ *,A :   /•  *D*D:5@0ĝ ) E4*ht a b`Z \ Xu*T a a 0݀U w*& & 2w x (K*&^ % , .e *$@e("ep & *He2*E? cc8$)N*l  E S e$^ ]*(  B   W *9W0Z0BA! *R7m o3 Ɍs ^ & *l|    dA X *` /:IL<4 * XK " 2 *a  A! < *"$ $ bL d  ` ` *  e :B <<<K *& & &=0W@ae%^ & *@&^   TeT* 8 d0B`e & R*$AAIe ߋtߕ$v& g*  U%g"G_ *C  e e(   e*$&  L̥ ̥ ̥̥̋8*H ̥ I  w P ˥**lj .g  6 ˥, X a*T˥* ˥]K I G H m*C 2 p  8v0E! !!Je@% * $4E% %    *   e@ D   *fߓ@'̋ @ %^ & *d'     f(( (EW)% A  Œ e *)0P$ @ 8 eF  * @ `$ @W$  * A K" e0e %^ & *K| A&&&<B&      * ˥:0C ˥,U% "˥**  ˥. ˥[ ˥/. * ˥< ˥  ˥ ˥  a*DeAbEɋA% "U%s*hG!   4 .˥: * "˥.˥$    *& ˥0 ˥Z˥9˥A *   * M aɌLX * ߁ ֌U%   5 4 *8 EdEdd d)0 *"&1 D d-  e Ef *c e 3 C&e  * ^ Eaɋee  h *8f! ! D H uAe%^ & *p| h^ & (  X *@ e0U%3$)  4e4 *O  Je%Vw! Af *@'t8& & ACB$2  Ae F*$! ! ! ! ! `0 . t1 *H D Ѥ 1ӥ, ˥,˥*l<˥  ˥.˥[ f˥**8D`%  %* %2"6U%G * 1 K Ӌc* j2 & Β | r* ˥: ˥.˥$D U n*D   F` 0˥:*h ӥ*ߋ> A ##U%*{3  Ɍ SWB *BE  3"0 ,*. @A!Ɋ 2ᕖ%^ &*JDpߓ^ &ee̋ ! !!*-Je@%c  KW R*fW a  %^ &*x! NP4j@@@EC W= EN *e`EΊE e Ee*(A E  4@ & Β0 *e& ˥0 ˥Z˥9˥A * &f˥* *Ŕ@Ŕ@a   @a @E*&^ %&B A!"W D *$, COK STE WAC*H&^ e%OI`*l ZZa 達 *g" )em`& ($^ ` Hh* g ` * ` >נAC,W  W*^ I P %^ &* ѕ Wr0W"&N& ȊvN*ftߋ ߕ L UL FV.DE 7**7 @5 DA!c&&*]&$).Yb 0U%" $`7* 0e3 &&8 *0  L & !* ORRR ELEFI7  D|#DAcA0((&(  eeu* 6##  _*DASA ECODBERE KITIEN$MOPR AS DU ZZj*&^ %0 e@@e*m &   c `@@ @?*)#&%7 2JANFEBMARAPRMAY*JUNJULAUGSEPOCTNOVDECL e* `  %@ 44`*4W-& 5"< de&X#N&f"e&fX*&p # ##Je&4*H& % e  e e*Fe%a( $** TpTTTT%T%T% E e*/( Be` * K@vv*A|  % @ (&X*"RR$ $4*"^ ,Ɋ*$,"Ɍ 2*,(#e % *&^ % 6DECNOVOCTSEP*AUGJULJUNMAYAPRMARFEBJANXXX .*E 5 @`e"* /: W: "` *@0- Lt *&^ %eE ɕ * hɊ4$ JRR X*A!⊎ &. P f*%f/ @e h"RA8"DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111000 ;MARK DATA=70 .WORD 111011 ;PRE-FINAL=73 .WORD 111011 ;FINAL=73 .WORD 111011 ;PARITY=73 .WORD 111011 ;REVERSE LOCK=73 .WORD 101001 ;GUARD=51 .WORD 100101 ;REVERSE BLOCK MARK=45 .WORD 010101 ;INTERBLOCK SYNC=25 .PAGE WALBF: .WORD -1 ;-1 REVERSE =0 FORWARD .WORD -1 FBLK: .WORD 1101 ;BLOCK NUMBER GOES HERE .WORD -1 .WORD -1 BYST: .BYTE 3 ;TABLE OF XDA 17 & 16 FOR CMP,OBV,BLK# .BYTE 3 .BYTE 0 .BYTE 0 .BYTE 1 .BYTE 1 .BYTE 2 .BYTE 2 TOG2: XX TOG1: XX TCCM: 177342 TCST: 177340 TCDT: 177350 TCBA: 177346 TCWC: 177344 RBN: .=.+2204 DATBUF: .=.+1000 .END START ccexe*c9EEE$c*c cUN~U~ENHrEHrRE|ydR|yDEbpPRxPxALiA((dBR`jFRjjDItjfFAfFBfCOf?*JdMTfMfZEwZwndHd # od PIP-11 V004A,dc*e7 jcccccc.,e  w dc4de  bdd*Te  eb7 Z7 B7 H7 T7 Rw $.xedrdcc-5'dd.e. ЋЕ?Е xd7rdcch*ewn"w ddcc7 e*e/3w 7w %*fJe/  I*4fwX73wBw P.Xfw .%xXde  bdh.f k p n ׭L׭E w n*f PNK DLde  Xd Y*f. w w^ k w _*f *@ ec w   ,gwp @ a@ ec*:g w @ a-*w &-*^g*w ׭w ׭w *g|ew jbZN 8,g , cc 50cc*g  cc 5m,gccw4wc *hcd" W 2d B U*:h4dH$eW bd B k*^h7 hPhh *hdd. Rw7 w!*h7 w7 e/5*h )-*-* &i w c  w 8 . iw dw w w csw ,w Z w*Hiw  w q*li"w 0  7l~ w &j*i" %&wRw.*ie(eB>ee0, *iw$wee- di *iw  w c "A @`$AL (*"jw | &cc #  c Fjw >w 0_`jw Ojjw Z*tj7 7 w w 7 7 w 6P7mjw ccw 4c($jcE 4w 8jw ccw cIjcc c$j  %  w  kcc w I"k7`w ccw c4kcc  w *Fkw >w 8c7 " c.jkw V7cc[\kwRl w Rw `De0k  8-2*-.*p-/.kw ^ Twt pp o*kp  4Е Е[  r@. l Е,  Z( zЕ] pt*HlC! , w 5 ~~xllzzvvw &`*|l%p b l X V X.lH  Ћ  Xw m*lp 5@o o.l    7 7 7 |e1$m7 e7 o n.2mpp   Е. !p/*Zm < D ЕC(p,~mEz7 t-rh b n*mnS$-T N:nW :n7 >^*m84  Е- Е-*me8 f ;Zx*n0Nm>J&zQQAA wC*4nL^YؙcxD m 6eg*Xn0ЋЕ:9pЕ<E *|n 0Е>&"8 *n&"&Õ  &0А \*n mЕ Е f&*n"eЕ h d  , oR ɋPp7pcc1*2o  Z ,Vo P " p Е vo*|ow uɋe I *oI I I I I I J*oI DIRECTORY TOTL BLKS: T*oOTL FILES: FREE BLKS: FREE FILEj pS:po`p'bpw .zww Lzp7jw *ccc{(pc Zw %w B-L* p-H*70w cc pccc = pVp CONFIRM: .ppcpccf` p{.$qɥLɥHu ɥ oɥ lk dd*Lq. -\& `&ru *pq e#&c *qeQ QQf Q  L*q    h <   *q QO ` %` `*rѕ   & <*$ru W w&cc"Hrw Mw ccdr < *|r *u"&  #e r r!r ->R6J .rN5@ B   wrw w 1rw w cc p"sw ~w |w  "sw w \w tcc*5>6*"tE$ wtuwp,ww 5@-~( -v w X*8w c P`Tw c9*\wT 7 H8JwFB< *wm,m(m$n w - *wewwwwww.wwwwwxxx tx ||x*w fx V 4*xx buw  *8xv lluR bu*\x R v ADD*xB C$D4w *x*w w w w xcx cx:w w 7w xccw w cK*xcc$PRw v "7\c$"yjyccDcjy$@yccw2$^yw(w&|y׭dlw׭SZyww w & w c@ycw 0w ccyw  w ccw yccccc yc 7ccczccc$z7 w vw ׭w\4zw tcccw "Fzcc  w cbzcw b7~w 8cvzccw f7iw Pzcc t^@Z<zV8,w Xcc,z&ccw "c .cm*z c cc*{w |CO w fcc #,&{   w RCO w 1L{w @ w x7w Nc\`{cw 7w lc&p{ccw .D`cf&c*{c #  4w c %*{ cc 5B ` P{ v | B}*}& H F c 5 %c*~ 5 %l7{ *8~ fc ,5&55@<4*\~- (< el,~ c[ 5g|J,~ B}B<4E.~* w  ~w 6w w cc&~w w D w$ w$w$"2 w @w `we