1 ! SATFER -- SAT TRANSFER PROGRAM 10 PRINT"SAT TRANSFER PROGRAM" 70 C9$=CHR$(13%)+CHR$(10%) 90 OPEN "KB:" AS FILE 2% 100 N5%=1% : GOSUB 4000 120 PRINT"MASTER FILE"; : INPUT LINE F$ : F$=LEFT(F$,LEN(F$)-2%) 125 OPEN F$ FOR INPUT AS FILE 1% 140 FIELD #1%,N1%*A% AS Z$, N1% AS A$(A%) FOR A%=0% TO N6% 160 INPUT"OUTPUT (CORR) FILE";F$ 170 OPEN F$ FOR OUTPUT AS FILE 3% 172 FIELD #3%,127%*B% AS Z$, 127% AS B$(B%) FOR B%=0% TO 3% 174 B%=0% 200 PRINT"ENTER MNEMONICS WANTED TO TRANSFER" 210 FOR I%=1% TO V2%(1%,0%) 220 READ M$ : PRINT I%;M$ 225 DATA HS,"",13 230 IF LEN(M$)<>2% THEN 290 240 FOR J%=1% TO V2%(1,0) 250 IF M$=V2$(J%) THEN 280 260 NEXT J% : PRINT"NO SUCH MNEMONIC" : GO TO 220 280 M%(I%)=J% : NEXT I% 290 READ M1$(K%) FOR K%=1% TO I%-1% 300 IF A%" " THEN 300 360 PRINT MID(A$(A%),7%,28%)+" "+LEFT(A$(A%),3%); 365 INPUT #2%,I$ 370 IF I$="S" THEN 800 380 IF LEN(I$)<>3% THEN 300 390 I$=LEFT(A$(A%),3%)+I$ 400 FOR K%=1% TO I%-1% 410 S$=MID(A$(A%),V2%(1%,M%(K%)),V2%(2%,M%(K%))) 420 I$=I$+"!"+M1$(K%)+S$ 440 NEXT K% 460 I$=I$+"!99!" 470 LSET B$(B%)=I$+SPACE$(125%-LEN(I$))+C9$ 480 IF B%<3% THEN B%=B%+1% ELSE B%=0% : PUT #3% 500 GO TO 300 800 LSET B$(B1%)="\\\\\\"+SPACE$(119%)+C9$ FOR B1%=B% TO 3% 810 PUT #3% : CLOSE 1%,2%,3% 900 CLOSE 1%,2% : GO TO 9999 4000 DIM V2$(50),V2%(2,50) 4020 ON ERROR GO TO 4320 4030 INPUT"FILE TYPE";F$ : F$=LEFT(F$,3%) 4040 OPEN V1$+"$ATRIB" FOR INPUT AS FILE 1% 4060 FIELD #1%, 255%*A% AS Z$, 255% AS A$(A%) FOR A%=0% TO 1% 4080 IF A%<1% THEN A%=A%+1% ELSE A%=0% : GET #1% : R%=R%+1% 4100 IF LEFT(A$(A%),3%)="\\\" THEN PRINT"NO SUCH FILE TYPE" : GO TO 9999 4120 IF LEFT(A$(A%),3%)<>F$ THEN 4080 4140 V2%(2%,0%),N%=VAL(MID(A$(A%),4%,2%)) : N9%=VAL(MID(A$(A%),6%,1%))*2% 4160 N1%=510%/N% : N2%=N1%-8% : N3%=N%*N1% : N6%=N%-1% 4180 FOR V%=1% TO 50% 4200 V2$(V%)=MID(A$(A%),42%+(V%-1%)*4%,2%) : IF V2$(V%)=" " THEN 4280 4220 V5%=CVT$%(MID(A$(A%),44%+(V%-1%)*4%,2%)) 4240 V2%(1%,V%)=ASCII(CHR$(V5%)) : V2%(2%,V%)=ASCII(CHR$(SWAP%(V5%))) 4260 NEXT V% 4280 V2%(1%,0%)=V%-1% : IF N5% THEN 4300 ELSE PRINT"CODES: "; : PRINT V2$(I%)+" "; FOR I%=1% TO V%-1% : PRINT 4300 CLOSE 1% : ON ERROR GO TO 0 : RETURN 4320 IF ERR<>5% AND ERR<>21% THEN 4380 ELSE RESUME 4340 4340 READ V1$ : GO TO 4040 4360 DATA DK2:,DK1:,DK0:,DK3: 4380 PRINT"THE FILE '$ATRIB' HAS BEEN DELETED;" : PRINT"IT MUST BE REPLACED TO PROCEED." 9999 END