11000 KEY OFF 21001 DEFINT A-Z 31010 REM Trap error opening input file 41020 ON ERROR GOTO 1600 51030 CLS 61040 LOCATE 5,11 71050 PRINT STRING$(40," ") 81060 LOCATE 5,11 91070 INPUT "Enter name of input file: ", INFILE$ 101080 OPEN INFILE$ FOR INPUT AS #1 111090 LOCATE 8,10 121100 PRINT STRING$(40," ") 131110 REM Trap error opening output file 141120 ON ERROR GOTO 1640 151130 LOCATE 8,10 161140 INPUT "Enter name of output file: ", OUTFILE$ 171150 OPEN "R", #2,OUTFILE$, 1 181160 FIELD #2, 1 AS N$ 191170 REM Trap error at end of file 201180 ON ERROR GOTO 1680 211190 REM Search for header line 221200 LINE INPUT #1,A$ 231210 IF LEFT$(A$,5) <>"begin" THEN 1200 241220 LOCATE 11,10 251230 PRINT "Header = ";A$ 261240 SP = ASC(" ") 271250 DIM BUF(100) 281260 RECNO# = 1 291270 REM Main loop 301280 LINE INPUT #1, A$ 311290 P = 0 321300 COUNT = ASC(LEFT$(A$,1)) - SP 331310 IF COUNT = 64 THEN COUNT = 0 341320 IF COUNT = 0 THEN 1560 351330 ADJ = COUNT MOD 4 361340 FOR I = 2 TO LEN(A$) STEP 4 371350 X1 = ASC(MID$(A$,I,I)) - SP 381360 IF X1 = 64 THEN X1 = 0 391370 X2 = ASC(MID$(A$,I+1,I+1)) - SP 401380 IF X2 = 64 THEN X2 = 0 411390 X3 = ASC(MID$(A$,I+2,I+2)) - SP 421400 IF X3 = 64 THEN X3 = 0 431410 X4 = ASC(MID$(A$,I+3,I+3)) - SP 441420 IF X4 = 64 THEN X4 = 0 451430 P = P + 1 461440 BUF(P) = (X2\16) + (X1*4) 471450 P = P + 1 481460 BUF(P) = (X3\4) + ((X2 MOD 16) * 16) 491470 P = P + 1 501480 BUF(P) = X4 + ((X3 MOD 4) * 64) 511490 NEXT I 521500 FOR I = 1 TO P 531510 LSET N$ = CHR$(BUF(I)) 541520 PUT #2, RECNO# 551530 RECNO# = RECNO# + 1 561540 NEXT I 571550 GOTO 1280 581560 END 591570 REM 601580 REM Error trapping routines 611590 REM 621600 LOCATE 22,20 631610 PRINT "Can't open input file" 641620 GOSUB 1740 651630 RESUME 1020 661640 LOCATE 22,20 671650 PRINT "Can't open output file" 681660 GOSUB 1740 691670 RESUME 1090 701680 LOCATE 22,20 711690 PRINT "Header line not found" 721700 GOSUB 1740 731710 LOCATE 24,1 741720 END 751740 FOR I = 1 TO 5000: NEXT I 761750 LOCATE 22,20 771760 PRINT STRING$(30," ") 781770 RETURN 79