10  REM LHS DECISION LIBRARY -- PUNCHED JULY 18 '73
20  DIM H[20,20],F[200],A$[255],B$[49],C$[18]
30  DIM P$[255]
40  LET B$="ABCDEFGHIJKLMNOPQRSTUVWXYZ,.;:!?'()-& 123456789$/"
50  PRINT "INPUT THE LINES YOU WISH TO HAVE ENLARGED, FOLLOWED BY AN EMPTY LINE"
55  PRINT "AUTO CENTER"
60  S=0
70  MAT F=ZER
80  FOR K=0 TO 19
90  FOR Z=0 TO 17
100  H[K+1,Z+1]=0
110  NEXT Z
120  X=0
130  PRINT 
140  LINPUT A$
150  RESTORE 
160  IF A$="" THEN 330
170  FOR L=1 TO LEN(A$)
180  FOR M=1 TO 49
190  READ C$
200  IF A$[L,L]=B$[M,M] THEN 240
210  NEXT M
220  PRINT CHR$(34);A$[L,L];CHR$(34);" IS INVALID"
230  GOTO 90
240  X=X+LEN(C$)/2+2*SGN(L-1)
250  IF X<130 THEN 280
260  PRINT " TOO LONG"
270  GOTO 90
280  H[K+1,L]=M
290  RESTORE 
300  NEXT L
310  NEXT K
320  K=K+1
330  N=K-1
340  P=0
350  X=INT(34-H[P+1,18]/2)
360  FOR K=0 TO 16
370  F[K+1]=0
380  NEXT K
390  FOR K=0 TO 16
400  Y=H[P+1,K+1]
410  IF Y=0 THEN 560
420  FOR Z=1 TO Y
430  READ A$
440  NEXT Z
450  RESTORE 
460  FOR S=1 TO LEN(A$)/2
470  FOR L=S*2-1 TO S*2
480  FOR R=1 TO 16
490  IF A$[L,L]=B$[R,R] THEN 510
500  NEXT R
510  F[X+S+1]=F[X+S+1]*16+R-1
520  NEXT L
530  NEXT S
540  X=X+S+2
550  NEXT K
560  PRINT 
570  FOR L=7 TO 0 STEP -1
580  A$=""
590  FOR Z=X-2 TO 1 STEP -1
600  IF F[Z+1]/2^L >= 1 THEN 640
610  NEXT Z
620  PRINT 
630  GOTO 800
640  FOR K=0 TO Z
650  Y=INT(F[K+1]/2^L)
660  C$="@"
670  IF Y#0 THEN 690
680  C$=" "
690  A$[LEN(A$)+1]=C$
700  F[K+1]=F[K+1]-Y*2^L
710  NEXT K
720  A$=A$[36,LEN(A$)]
730  FOR Z5=1 TO (110-X)/2
740  P$[Z5,Z5]=" "
750  NEXT Z5
760  P$[LEN(P$)+1]=A$
770  A$=P$
780  PRINT A$
790  P$=""
800  NEXT L
810  P=P+1
820  IF P <= N THEN 350
830  LINPUT Z1$
840  GOTO 50
850  DATA "BPCIEIIIEICIBP","PPJBJBJBJBGO","DMECIBIBIBECCE"
860  DATA "PPIBIBIBIBEBDO","PPJBJBJBJBIB","PPJAJAJAJAIA"
870  DATA "DMECIBIBIFEGCH","PPBABABABABAPP","IBPPIB","AMACABABABACPM"
880  DATA "PPBABABACIEEID","PPABABABABAB","PPIAEACABACAEAIAPP"
890  DATA "PPEACABAAIAEACPP","DMECIBIBIBECDM","PPJAJAJAJAGA"
900  DATA "DMECIBIFIFECDN","PPJAJAJAJIGH","GGJBJBJBJBEO"
910  DATA "IAIAIAPPIAIAIA","PMACABABABACPM","PIAEACABACAEPI"
920  DATA "PIAEADAEBIAEADAEPI","IDEECIBACIEEID","IAEACABPCAEAIA"
930  DATA "IBIDIFIJJBKBMBIB","AHAG","AGAG","DHDG","DGDG","PLPL"
940  DATA "IAJLJLJAGA","OAMA","DMECIB","IBECDM","BABABABABA"
950  DATA "AGGJJBJBGJAGAGAJ","AAAAAA","EBPPAB","EHIJJBJBJBGB"
960  DATA "EGIBJBJBJBGO","AEAMBECEEEPPAE","OGJBJBJBJBIO"
970  DATA "DMEGIJIJIJAJAG","IBICIEIIJAKAMA","GOJBJBJBJBGO"
980  DATA "PPBABACIEEID","PPABABABABAB","PPIAEACABACAEAIAPP"
990  END 
