680 O TO GTLP2^V>GTEXT, END=END-1^Z>) BGN=END^Z>3 RETURN ^]>= ^Q>G;... START ;OUTPUT LINE ^L>Q;... PUT, PROC ;GET THE RECORD SIZE^O>[;... DISK ;OUTPUT THE RECORD^O?%;... PROC ;CLEAR THE RECORD ^T?/;... STOP ;RETURN ^W?9PUT, RSIZE=62 ^N?C IF(AREA3.NE.SPACES)GO TO SIZEXT^Y?M RSIZE=47 ^N?W IF(AREA2.NE.SPACES)GO TO SIZEXT^Y@! RSIZE=40 ^N@+ IF(AREA1.NE.SPACES)GO TO SIZEXT^Z@5 RSIZE=1^S@?SIZEXT, RSIZE=RSIZE+2 ^H@I XMIT(2,OUTREC(1,RSIZE)) ;OUTPUT THE RECORD ^Z@S OUTDTA=^Z@] RETURN ,^ ^R-#;... START ^O) START; D A F T VERSION 6.05^]. ^V3;COPYRIGHT 1973^O8;DIGITAL EQUIPMENT CORPORATION^S=;MAYNARD, MASS. 01754^]B;^>G;THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE^?L;ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION^>Q;OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT^FV;AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.^][;^? ;THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT^D %;NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT^M *;BY DIGITAL EQUIPMENT CORPORATION.^] /;^@ 4;DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF^B 9;ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.^] >;^Q C;COMPILATION INSTRUCTIONS:^R H; .RUN COMP,DAFTA,DAFTB^X M; .SAVE DAFT^X R; .RUN DAFT^] W;^[ RECORD^Y!!TRICK, 2A1^X!&RECORD INREC^Z!+I, 510A1^[!0RECORD^X!5TRICK2, 2A1^W!:RECORD COMMAND^Y!?COM, 128A1^[!DRECORD^Y!IQUOTE, A1^O!N, A1,'?' ;OVERFLOW PROTECTION^[!SRECORD^Y!XTRICK4, A1^Y!]RECORD TR4^ "", A1^["'RECORD^U",NAME, A6,'/NONE/'^X"1UNIT, D2,00^Z"6LEFT, D3^Y";RIGHT, D3^Y"@NUMBR, D15^Z"ELFT, D3^["JRT, D3^Y"ORECNO, D5^["TRECORD^W"YTRICK3, A1,'*'^["^RECORD^[##D3, D3^Z#(RECORD,X^Z#-HUNS, D1^Z#2TENS, D1^Y#7UNITS, D1^Z#'"GRIDA, A50,' 1 2 3 4 5'^A'', A50,' 6 7 8 9 0'^A',, 1101 ' 1 2 3 4 5'^A'1, A50,' 6 7 8 9 0'^J'6, A32,' 1 2 3 '^[';RECORD^>'@GRIDB, A50,'12345678901234567890123456789012345678901234567890'^A'E, A50,'12345678901234567890123456789012345678901234567890'^A'J, A50,'12345678901234567890123456789012345678901234567890'^W'ORECORD EOFMSG^L'T, A28,'END OF INPUT FILE AT RECORD '^Y'YEOFREC, D6^W'^RECORD FOUNDM^O(#, A21,'DATA FOUND IN RECORD '^Z((FNOM, D5^X(-RECORD QOUT^S(2, A13,'OUTPUT FILE: '^T(7OUTNAM, A6,'/NONE/'^X('^Y))RECORD QIN^T)., A12,'INPUT FILE: '^Z)3RICN, A6^ )8, A4^Y)=STATUS, A4^X)BRECORD QINU^W)G, A6,'UNIT: '^Y)LINUNIT, D2^X)QRECORD GBUFF^Z)VPAD, A1^Y)[GBUF, A132^I* PROC 3 ; (DAFT) DUMP AND FIX TECHNIQUE^X*% LINCOUNT=55^Z** TR4=" '^V*/ QUOTE=TRICK4(3)^Y*4 GO TO EOJ^X*9START, PLUS=^Q*> SCAN=1 ;INITIALIZE SCAN^O*C IF(SYSFLG .EQ. 1)GO TO SYSINP^S*H DISPLAY (0,0,TRICK3)^Y*M ONERROR X^D*R XMIT(KBD,COMMAND,EXIT) ;READ COMMAND FROM KEYBOARD^M*WTERM, COM(129-2*#TRICK2(4)) = ';'^Y* CALL FLOW^L+! K = #COM(SCAN)-33 ;GET FIRST LETTER^P+& IF (K .EQ. -5) GO TO START^N++ CALL PASS ;GO TO NEXT ARGUMENT^9+0 GOTO (ADV,BACK,CHANGE,DISPLAY,EXIT,FINI,GOTO,HELP,INPUT,X,KEY,LIST,X), K^8+5 GOTO(X,OUTPUT,PUT,QUERY,REWIND,SEARCH,TYPE,UPDATE,VERSION,WRITE,XINF), K-13^P+:X, XMIT(TTY,"BAD COMMAND.')^X+? GOTO START^]+D ^L+IINPUT, IF (INFLG .NE. 0) CALL INFINI^X+N CALL LABEL^Q+S INIT(IN,INPUT,NAME,UNIT)^X+X RECNAM=NAME^X+] INUNIT=UNIT^W," STATUS='OPEN'^Z,' UPFLAG=^W,,INP2, RECNUM=0^X,1 RECLEN=510^Z,6 INFLG=1^Y,; GOTO READ^V,@INFINI, FINI(IN)^Z,E RETURN^],J ^K,OOUTPUT, IF (OUTFLG.NE.0) GOTO OUT2ERR^X,T CALL LABEL^P,Y INIT(OUT,OUTPUT,NAME,UNIT)^X,^ OUTNAM=NAME^X-# OUTUN=UNIT^Y-( OUTFLG=1^Z-- OUTKNT=^X-2 GOTO START^H-7OUT2ERR,XMIT(TTY,"OUTPUT FILE ALREADY OPEN')^X-< GOTO START^]-A ^J-FUPDATE, IF (OUTFLG .NE. 0) GOTO OUT2ERR^O-K IF (INFLG .NE. 0) CALL INFINI^X-P CALL LABEL^Q-U INIT(IN,UPDATE,NAME,UNIT)^Q-Z UPFLAG=1 ;NOTE SAID FACT^Y. OUTFLG=1^Y.$ OUTKNT=0^X.) INUNIT=UNIT^X.. OUTUN=UNIT^W.3 STATUS='UPDT'^X.8 RECNAM=NAME^X.= OUTNAM=NAME^Y.B GOTO INP2^J.GREAD, CALL REED ;READ NEXT INPUT RECORD^X.L GOTO START^M.QREED, IF (INFLG .NE. 1) GOTO NOIN^P.V IF (RECNUM .EQ. 0) GOTO RD2^P.[ IF (PLUS .GT. 0) CALL WRIT^L/ RD2, IF (UPFLAG .NE. 0) GOTO READUP^T/% XMIT(IN,INREC,EOF)^T/*RD3, RECNUM=RECNUM+1^G//GETLEN, RECLEN=(4096-64*#TRICK(3)-#TRICK(4))*2^W/4 OLDLEN=RECLEN^Z/9 RETURN^N/>NOIN, XMIT(TTY,"NO INPUT FILE.')^X/C GOTO START^R/HREADUP, RECNUM=RECNUM+1^S/MRDUP, ON ERROR ILLREC^M/R READ(IN,INREC(1,RECLEN+2),RECNUM)^X/W GOTO GETLEN^U/ EOF, EOFREC=RECNUM^U0! XMIT(TTY,EOFMSG)^Z0& INFLG=^W0+ STATUS='THRU'^X00 GOTO START^E05ILLREC, XMIT(TTY,"ILLEGAL RECORD - CLOSING FILE')^Y0: GOTO FINI^]0? ^M0DWRIT, IF (OUTFLG .NE. 1) GOTO NOUT^N0I IF (UPFLAG .NE. 0) GOTO WRITUP^O0N IF (RECLEN .EQ. 0) GOTO NOIN^P0S XMIT(OUT,INREC(1,RECLEN+2))^V0X OUTKNT=OUTKNT+1^Z0] RETURN^N1"NOUT, XMIT(TTY,"NO OUTPUT FILE')^X1' GOTO START^I1,WRITUP, WRITE(IN,INREC(1,RECLEN+2),RECNUM)^Z11 RETURN^]16 ^L1;FLOW, IF (COM(SCAN) .NE. ' ') RETURN^X1@ SCAN=SCAN+1^Y1E GOTO FLOWPUT9^JBTINPT20, IF (NAMEI.GE.DATMAX) GOTO INPT21^XB^ INCR NAMEI^SC( DATANT(NAMEI)=DATANE^XC2 GOTO INPUT9^JC GOTO INPT16^XS" GOTO PRNT