100 ! CODEX -- EXPLAINS CODES USED IN '$ATRIB' FILE; ! PRINTS FILE DESCRIPTION. MNEMONICS FILE ! '$MNEMO' MUST BE AVAILABLE (15 R/B). 120 ! REVISED TO REPLACE FILE LOOKUP SUBROUTINE ! 30-JUL-73 J. WARDEN WABASH COLLEGE 140 PRINT"FILE DESCRIPTIONS" 160 PRINT" TO STOP, HIT THE 'RETURN' KEY" 180 S5$=SPACE$(5%) 200 INPUT"OUTPUT TO";F$ : IF F$="" THEN F$="KB:" 220 OPEN F$ FOR OUTPUT AS FILE 2% 240 GOSUB 840 : J=0 260 N5%=1% : GOSUB 1100 280 IF I>1. THEN PRINT #2%, CHR$(12%) 300 S$="## \ \\ \ #### ####" 320 T$="\ \ \ \ \ \" 340 GOSUB 580 360 FOR I=1 TO V2%(1,0) 380 FOR J=1 TO U% 400 IF V2$(I)=C$(J) THEN 460 420 NEXT J 440 D$=" " : GO TO 480 460 D$=D$(J) 480 PRINT#2,S5$; 500 PRINT #2%, USING S$,I,V2$(I),D$,V2%(1%,I),V2%(2%,I) 520 PRINT#2 540 NEXT I 560 GO TO 1060 580 PRINT #2%, CHR$(10%)+S5$+"FILE TYPE: ";F$ : PRINT #2% 590 PRINT #2%,S5$+"DESCRIPTION: ";D0$;CHR$(10%) 600 PRINT #2%,S5$;"BLOCKING:"; N%;"RECORDS OF";N1%;"BYTES IN EACH BLOCK"+CHR$(10%) 620 PRINT #2%,S5$;"MNE # "; 640 PRINT #2,USING T$,"CODE DESCRIPTION","START","FIELD" 660 PRINT #2%,S5$;" "; 680 PRINT#2,USING T$," "," COL","LENGTH" 700 PRINT#2,S5$; 720 PRINT #2%,"--"; FOR Z%=1% TO 28% 740 PRINT#2 760 PRINT#2,S5$; 780 PRINT #2%, USING S$,0%,"ID","IDENTIFICATION CODE",1%,6% 800 PRINT#2 820 RETURN 840 ! READ MNEMONICS 860 U%=0% 880 DIM C$(200)=2%, D$(200),A$(15) 900 INPUT"MNEMONICS FILE ( FOR STD)";I1$ : IF I1$<>"" THEN OPEN I1$ FOR INPUT AS FILE 1% : GO TO 940 920 OPEN "DK1:$MNEMO" FOR INPUT AS FILE 1% 940 FIELD #1%,34%*R% AS Z$, 34% AS A$(R%) FOR R%=0% TO 14% 960 IF R%<14% THEN R%=R%+1% ELSE R%=0% : GET #1% 980 IF LEFT(A$(R%),1%)="\" THEN CLOSE 1% : RETURN 1000 U%=U%+1% 1020 C$(U%)=LEFT(A$(R%),2%) : D$(U%)=MID(A$(R%),7%,26%) : GO TO 960 1040 ! PRINTOUT COMPLETE 1060 PRINT#2%,S5$; : %,"--"; FOR Z%=1% TO 28% : PRINT #2% : GO TO 260 1080 PRINT #2%,CHR$(26%) : CLOSE 2% : GO TO 1540 1100 DIM V2$(50),V2%(2,50) 1120 ON ERROR GO TO 1460 1140 INPUT"FILE TYPE";F$ : F$=LEFT(F$,3%) 1160 IF LEN(F$)<3% THEN CLOSE 1%,2% : GO TO 1540 1180 OPEN V1$+"$ATRIB" FOR INPUT AS FILE 1% 1200 FIELD #1%, 255%*A% AS Z$, 255% AS A$(A%) FOR A%=0% TO 1% 1220 IF A%<1% THEN A%=A%+1% ELSE A%=0% : GET #1% : R%=R%+1% 1240 IF LEFT(A$(A%),3%)="\\\" THEN PRINT"NO SUCH FILE TYPE" : GO TO 1540 1260 IF LEFT(A$(A%),3%)<>F$ THEN 1220 1280 V2%(2%,0%),N%=VAL(MID(A$(A%),4%,2%)) : N9%=VAL(MID(A$(A%),6%,1%))*2% 1290 D0$=MID(A$(A%),11%,31%) 1300 N1%=510%/N% : N2%=N1%-8% : N3%=N%*N1% : N6%=N%-1% 1320 FOR V%=1% TO 50% 1340 V2$(V%)=MID(A$(A%),42%+(V%-1%)*4%,2%) : IF V2$(V%)=" " THEN 1420 1360 V5%=CVT$%(MID(A$(A%),44%+(V%-1%)*4%,2%)) 1380 V2%(1%,V%)=ASCII(CHR$(V5%)) : V2%(2%,V%)=ASCII(CHR$(SWAP%(V5%))) 1400 NEXT V% 1420 V2%(1%,0%)=V%-1% : IF N5% THEN 1440 ELSE PRINT"CODES: "; : PRINT V2$(I%)+" "; FOR I%=1% TO V%-1% : PRINT 1440 CLOSE 1% : ON ERROR GO TO 0 : RETURN 1460 IF ERR<>5% AND ERR<>21% THEN 1520 ELSE RESUME 1480 1480 READ V1$ : GO TO 1180 1500 DATA DK2:,DK1:,DK0:,DK3: 1520 PRINT"THE FILE '$ATRIB' HAS BEEN DELETED;" : PRINT"IT MUST BE REPLACED TO PROCEED." 1540 END